【问题标题】:Find number of white/black pixels in binary image查找二进制图像中的白色/黑色像素数
【发布时间】:2017-07-19 21:07:05
【问题描述】:

我有一个带网格的二进制字图像,我想在每个段中找到前景像素(每个段中的黑白数)

【问题讨论】:

  • 如何找到细分市场??
  • 这是一个不同的问题
  • 那是this的问题。

标签: image matlab


【解决方案1】:

所以我只想获取图像的黑色像素总数,不想分割它。不想学习如何分割矩阵。

获取黑色像素总和的简单方法:

sum(sum(bw == 0)) 

反过来得到白色像素

sum(sum(bw == 1))

运算函数sum(bw == 0) 只是将所有内容都放入[1xn] 矩阵,因此您需要执行求和,您将得到整个图像矩阵的总和。

认为cumsum 可以解决问题,但sum(sum()) 更适合这种情况。告诉你我对编码知之甚少。享受这些信息,注意我只是用它来确定二值化图像的区域覆盖范围,但对于其他特别有用的东西。

【讨论】:

  • 其实你可以得到白色像素的数量。图像总像素 (eg720x480) - #of black pixel...因为这是二值化...只是一个建议
【解决方案2】:

假设你的黑白图片是bw

 sum(bw==0) // number of black pixels
 sum(bw==1) // number of white pixels

为每个网格找到两个方向的范围,然后应用相同的想法。

例如,从x1x2y1y2 是一个网格:

  sum(bw(x1:x2, y1:y2) == 0) // will give you the black pixels you want

【讨论】:

  • 但是我不知道x和y的值
  • @raghu 段的尺寸是已知的,对吧?如果每个段都是一个矩阵,则 (:) 将为您提供矩阵中的所有像素,如 Ander Biguri 所说
【解决方案3】:

使用逻辑索引很容易。

对于每个段,执行:

n_white=sum(segment(:)==1);
n_black=sum(segment(:)==0);

【讨论】:

  • 先生,请给我一些程序
猜你喜欢
  • 2015-05-05
  • 2012-02-21
  • 1970-01-01
  • 2018-09-28
  • 2012-01-15
  • 2019-12-10
  • 2019-03-28
  • 2019-12-13
  • 1970-01-01
相关资源
最近更新 更多