remove pixels with certain rgb values
Ältere Kommentare anzeigen
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.
Akzeptierte Antwort
Weitere Antworten (1)
Jos (10584)
am 16 Feb. 2018
1 Stimme
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 Kommentare
Tian Tian
am 16 Feb. 2018
Jos (10584)
am 16 Feb. 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
am 16 Feb. 2018
Jos (10584)
am 16 Feb. 2018
What does size(I) return?
What does a small portion of I, like I(1:4,1:4,:) contain?
Tian Tian
am 17 Feb. 2018
Tian Tian
am 17 Feb. 2018
Kategorien
Mehr zu Image Segmentation finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!