Red de conocimiento informático - Aprendizaje de programación - ¿Cómo extraer la información RGB de una imagen en MATLAB y generar el resultado en una matriz?

¿Cómo extraer la información RGB de una imagen en MATLAB y generar el resultado en una matriz?

1

Abrir imagen

[Nombre de archivo, Ruta de archivo]=uigetfile('*.jpg;*.png;*.tif;*.img;* .gif;','Por favor seleccione datos de imagen');

str=[FilePath FileName];

Imagen=imread(str);

Para dialogar Seleccione para abrir una imagen en forma de cuadro

2

Establecer parámetros

Gray=rgb2gray(Imagen);

R =Imagen(:,:,1); G=Imagen(:,:,2); B=Imagen(:,:,3);

diff_R=0; ; Establezca umbrales de extracción de color rojo, verde y azul (cuanto más grandes, más estrictos)

3

Extracción de rojo

Image_R=Imagen;

RP_R =Imagen(:,:,1); RP_G=Imagen(:,:,2); RP_B=Imagen(:,:,3);

XYR=~((R-G) gt;diff_Ramp; (R-B)gt;diff_R); La condición para extraer el rojo es que la diferencia entre el componente R y los componentes G y B sea mayor que la configuración

Mask=Gray(XYR); Máscara de foto gris

RP_R (XYR)=Máscara RP_G(XYR)=Máscara RP_B(XYR)=Máscara; Hace que las áreas no rojas sean grises

Image_R(:,:, 1)=RP_R; Imagen_R(:,: ,2)=RP_G; Imagen_R(:,:,3)=RP_B;

4

Extracción verde

Imagen_G=Imagen;

GP_R=Imagen(:,:,1);

XYG=~((G-R)gt ;diff_Gamp; (G-B)gt; diff_G) La condición para extraer verde es que la diferencia entre el componente G y los componentes R y B sea mayor que la configuración

Máscara=Gris(XYG); Máscara de foto gris

GP_R(XYG)=Máscara; GP_G(XYG)=Máscara; GP_B(XYG)=Máscara; >

Imagen_G(:,:,1)=GP_R; Imagen_G(:,:,2)=GP_G; Imagen_G(:,:,3)=GP_B;

5

Extracción de azul

Imagen_B=Imagen;

BP_R=Imagen(:,:,1); :,3);

XYB=~( (B-R)gt;diff_Bamp;(B-G)gt;diff_B); La condición para extraer verde es que la diferencia entre el componente G y los componentes R y B); es mayor que la configuración

Mask_B=Gray(XYB); Máscara de foto gris

BP_R(XYB)=Mask_B; Hacer que el área no azul sea gris

Image_B(:,:,1) =BP_R Image_B(:,:,2)=BP_G;

B(:,:,3)=BP_B;

6

Mostrar resultados

subplot(2, 2, 1), imshow(título de la imagen); ('Imagen');

subtrama(2, 2, 2), imshow(Image_R); título('Pase rojo');

subtrama(2, 2, 3) , imshow(Image_G); title('Pase Verde');

subplot(2, 2, 4), imshow(Image_B)('Pase Azul');

/article/cb5d61050a03e0005c2fe0c1.html