如何计算采样二进制图像的像素密度

时间:2013-06-02 20:29:15

标签: visual-c++ opencv pixel

这可能是一件非常简单的事情,但我与此有冲突。我将特定的二进制图像(28 x 28)分成(4 x 4)个样本。现在我想计算每个样本的像素密度(我将这些密度值用作OCR应用程序中的特征)。据我所知,密度定义了特定区域中的像素数,例如每平方英寸7个像素。在这里是一样的吗?我的所有样本都有4个像素。 Moment->m00和像素密度之间是否存在关系?有人可以解释一下吗?请帮忙

1 个答案:

答案 0 :(得分:2)

“密度”描述“一件事”对应于“一小部分空间”的多少。

就图像而言,可能是“图像片段”所持有的“颜色量”。

对于作为像素阵列保存的黑白或灰度图像,可能只是一个平均像素值。

例如,如果您的图像是黑白图像(即像素的值为0或1):如果样本是4x4正方形,则其面积为16.在此区域中,您可以使用0到16像素,分别为0.0和1.0。这里有4个黑色像素和12个白色表示密度为4/16 = 0.25(或12/16 = 0.75,具体取决于您将哪些像素视为“空”(黑色或白色?))。

例如,如果您的图像是灰度图像(即,像素的值范围为0..255,描述它们的白色):如果样本是4x4的正方形,则其面积为16.在此区域你可以有0到16个像素,分别是0%和100%。除了四个像素之外的所有像素都是“空”,而这四个像素的值为100,100,50,50,密度为(100 + 100 + 50 + 50)/ 255/16 = 0.073。请注意,像素的最小值为min = 0,最大值为255。如果您的像素具有不同的值范围,请进行适当调整。

就OpenCV而言,我假设moment->m00是“空间图像m = 0,n = 0时刻”。因此,您可能希望查看http://software.intel.com/sites/products/documentation/hpc/ipp/ippi/ippi_ch11/ch11_image_moments.html

查看该文档和公式,我认为您可以在m00m11字段中找到密度。我认为既然m和n是0,那么m00将等于1(一),而m11将保持2D图像的平均像素值,但我没有尝试/检查所以我不是100%肯定。