remove pixels with certain rgb values
Afficher commentaires plus anciens
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.
Réponse acceptée
Plus de réponses (1)
Jos (10584)
le 16 Fév 2018
1 vote
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 commentaires
Tian Tian
le 16 Fév 2018
Jos (10584)
le 16 Fév 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
le 16 Fév 2018
Jos (10584)
le 16 Fév 2018
What does size(I) return?
What does a small portion of I, like I(1:4,1:4,:) contain?
Tian Tian
le 17 Fév 2018
Tian Tian
le 17 Fév 2018
Catégories
En savoir plus sur Image Segmentation dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!