【发布时间】:2012-04-27 21:52:23
【问题描述】:
我有一个图像 (5x5) 像素,有 3 个值,分别是 0、128 和 255。
我想检查索引 (1,1) 到 (1,5) 的像素。
如果有像素值0(黑色),则索引(1,1)到(1,5)的像素变为128(灰色),如果没有,则像素变为255(白色) )。
我想再次执行这些步骤,检查索引 (2,1) 到 (2,5)、(3,1) 到 (3,5),一直到底部。
从上面的问题,我得到了这样的解决方案:
掩码 = repmat(any(I == 0,2),5,1);
I(掩码) = 128;
I(~掩码) = 255;
但如果我想垂直检查像素,从索引 (1,1) 到 (5,1),然后向右,索引 (1,2) 到 (5,2),直到结束。 有什么解决办法?
谢谢
问候,华宇
【问题讨论】:
-
我不确定我是否完全理解你的问题,但是找到图像中所有零像素的简单方法是`img = [0,5,3; 0,0,7; 0,3,0]; zeroPixels = 逻辑(img == 0);您可以轻松地执行类似的操作来找到非零值。
标签: matlab