【问题标题】:Checking Pixels Vertically in Matlab在 Matlab 中垂直检查像素
【发布时间】: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


【解决方案1】:

您可以只转置矩阵/图像,使用您在上一个问题中给出的解决方案,然后再次转置以返回原始矩阵/图像:

I = I';
%# Do solution you got last time here
%#{

%#}

I = I';

【讨论】:

  • 谢谢你,你真的帮助了我。
猜你喜欢
  • 1970-01-01
  • 2012-05-09
  • 2013-08-27
  • 2016-04-10
  • 1970-01-01
  • 2016-12-01
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
相关资源
最近更新 更多