【发布时间】:2017-07-19 21:07:05
【问题描述】:
我有一个带网格的二进制字图像,我想在每个段中找到前景像素(每个段中的黑白数)
【问题讨论】:
-
如何找到细分市场??
-
这是一个不同的问题
-
那是this的问题。
我有一个带网格的二进制字图像,我想在每个段中找到前景像素(每个段中的黑白数)
【问题讨论】:
所以我只想获取图像的黑色像素总数,不想分割它。不想学习如何分割矩阵。
获取黑色像素总和的简单方法:
sum(sum(bw == 0))
反过来得到白色像素
sum(sum(bw == 1))
运算函数sum(bw == 0) 只是将所有内容都放入[1xn] 矩阵,因此您需要执行求和,您将得到整个图像矩阵的总和。
认为cumsum 可以解决问题,但sum(sum()) 更适合这种情况。告诉你我对编码知之甚少。享受这些信息,注意我只是用它来确定二值化图像的区域覆盖范围,但对于其他特别有用的东西。
【讨论】:
假设你的黑白图片是bw
sum(bw==0) // number of black pixels
sum(bw==1) // number of white pixels
为每个网格找到两个方向的范围,然后应用相同的想法。
例如,从x1 到x2 和y1 到y2 是一个网格:
sum(bw(x1:x2, y1:y2) == 0) // will give you the black pixels you want
【讨论】:
使用逻辑索引很容易。
对于每个段,执行:
n_white=sum(segment(:)==1);
n_black=sum(segment(:)==0);
【讨论】: