我有这样一张图片:
我希望能用Python将白色背景上的黑色数字提取出来,以便进行OCR识别。请问应该怎么做?
谢谢,
John.
谢谢,
John.
您不需要为OCR操作图像。例如,您可以直接使用pytesser:
from PIL import Image
from pytesser import *
im = Image.open('wjNL6.jpg')
text = image_to_string(im)
print text
输出:
0
如果您只想将一张黑底白字的图片变成白底黑字,那很简单;只需使用invert
方法:
from PIL import Image, ImageOps
img = Image.open('zero.jpg')
inverted = ImageOps.invert(img)
inverted.save('invzero.png')
ImageOps
模块中的其他函数,例如autocontrast
。它们都很容易使用,但如果您遇到困难,可以随时提出新问题。对于更复杂的增强,可以在PIL的其余部分中寻找。 ImageEnhance
可用于锐化图像,ImageFilter
可进行边缘检测和反遮罩等操作。您还可以将格式更改为灰度(L8),甚至是黑白(L1);所有这些都在Image.convert
方法中。