remove pixels with certain rgb values
Mostrar comentarios más antiguos
Hi, I want to remove pixels with R value >100 and G value>100, here is my code:
[height width rgb] = size (I); % I is RGB image
for coloum = 1:width
for row =1:height
if (I(row,coloum,1)> 100 && I(row,coloum,2)> 100)
I(row,coloum,1)= 0;
I(row,coloum,2)= 0;
I(row,coloum,3)= 0;
end
end
The error is "Index exceeds matrix dimensions". Does anyone have an idea about this? Thanks in advance.
Respuesta aceptada
Más respuestas (1)
Jos (10584)
el 16 de Feb. de 2018
1 voto
Is I really a 3D array or is the third dimension just 1?
Simply take a look at the value of rgb, after the size(I) command :)
6 comentarios
Tian Tian
el 16 de Feb. de 2018
Jos (10584)
el 16 de Feb. de 2018
There is a difference between indexed images (2D, like yours) and true colour images (3D, with RGB triplets in the 3rd dimension). This is explained here:
Tian Tian
el 16 de Feb. de 2018
Jos (10584)
el 16 de Feb. de 2018
What does size(I) return?
What does a small portion of I, like I(1:4,1:4,:) contain?
Tian Tian
el 17 de Feb. de 2018
Tian Tian
el 17 de Feb. de 2018
Categorías
Más información sobre Image Segmentation en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!