我遇到了一个从图像中提取字符的代码:
示例:
原始图像 已处理图像
我正在应用一堆过滤器,试图从这些符号中提取特定的字符,并将它们发送到我的OCR软件(高斯滤波器、水溢出和阈值)。在
我想对图像应用otsu阈值过滤器,但当我试图保存图像时,它被转换成float64,使其无法作为png保存:
seeds,nseeds = mahotas.label(dnaf < T)
labeled = mahotas.cwatershed(dnaf.max() - dnaf, seeds)
labeled = labeled.astype('uint8')
T = mahotas.thresholding.otsu(labeled)
pylab.imshow(labeled > T)
pylab.show()
mahotas.imsave('py.png', labeled > T)
给了我
^{pr2}$如果我尝试创建一个中间变量来保存应用了阈值的图像,图像将变为空白:
seeds,nseeds = mahotas.label(dnaf < T)
labeled = mahotas.cwatershed(dnaf.max() - dnaf, seeds)
labeled = labeled.astype('uint8')
T = mahotas.thresholding.otsu(labeled)
final = labeled > T
final = final.astype('uint8')
pylab.imshow(final)
pylab.show()
mahotas.imsave('py.png', final)
我能做些什么来解决这个问题?在
(这里是马索塔的作者):
我猜图像是正确保存的,但你看错了。排队之后
final是一个带有}s的
^{pr2}$0
s和{uint8
图像,因此“白色”位非常暗。试着把它乘以255:或者像这样保存它,但是把它想象成一个拉伸的版本:
相关问题 更多 >
编程相关推荐