remove pixels with certain rgb values
显示 更早的评论
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.
采纳的回答
更多回答(1 个)
Jos (10584)
2018-2-16
1 个投票
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 个评论
Tian Tian
2018-2-16
Jos (10584)
2018-2-16
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
2018-2-16
Jos (10584)
2018-2-16
What does size(I) return?
What does a small portion of I, like I(1:4,1:4,:) contain?
Tian Tian
2018-2-17
Tian Tian
2018-2-17
类别
在 帮助中心 和 File Exchange 中查找有关 Image Segmentation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!