我正在使用附加的算法,目的是测量代码识别的区域的像素数量:
`mahotas.label(image)`
问题是背景的面积越大,检测到的像素数越多,考虑到所有点在不同图像中的像素数相同。这是由于以下行:
`mh.gaussian_filter(imagen,4)`
但是,这不应该发生,因为我需要的是这些区域是具有背景的区域的完全独立测量。
附上不同大小但相同的200x200像素方点的脚本和图像作为示例。
import mahotas as mh
import mahotas.demos
import numpy as np
from pylab import imshow, show
imagen = mahotas.imread('76x66.png')
#imagen = mahotas.imread('100x100.png')
#imagen = mahotas.imread('200x200.png')
imagen = imagen[:,:,0]
imagen = mh.gaussian_filter(imagen, 4)
imagen = (imagen> imagen.mean())
etiquetas, unidades = mahotas.label(imagen)
sizes = mahotas.labeled.labeled_size(etiquetas)
print sizes[0]
imshow(imagen)
show()
结果:
- 图片 100x100.png 打印尺寸 = 1012 像素
- 图像 200x 200.png 打印尺寸 = 1292 像素
- 图片 76x66.png 打印尺寸 = 848 像素
但是,每个人都应该平等或相似