2024-05-23 15:54:21 发布
网友
我有一张这样的照片:
我想要一个黑色的数字写在白色上,这样我就可以用光学字符识别器来识别它。我怎样才能在Python中实现这一点呢?
非常感谢
约翰。
如果您只想将黑白图像转换为黑白图像,这很简单;它只是^{}:
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方法中实现的。
ImageOps
autocontrast
ImageEnhance
ImageFilter
Image.convert
当然,你必须知道你想做什么处理。你可能想尝试的一件事是在Photoshop或GIMP中处理图像并跟踪你所做的操作,然后寻找如何在PIL中实现这些操作。(首先使用gimp fu脚本可能比尝试使用PIL更简单…)
你不需要为OCR操作图像。例如,您可以使用pytesser:
from PIL import Image from pytesser import * im = Image.open('wjNL6.jpg') text = image_to_string(im) print text
输出:
0
如果您只想将黑白图像转换为黑白图像,这很简单;它只是^{} :
如果您还想进行一些基本的处理,比如增加对比度,请参见
ImageOps
模块中的其他函数,比如autocontrast
。它们都很容易使用,但是如果你被卡住了,你总是可以问一个新问题。对于更复杂的增强,请查看PIL的其余部分。ImageEnhance
可以用来锐化图像,ImageFilter
可以进行边缘检测和取消锐化掩蔽;等等。您还可以将格式更改为灰度(L8),甚至黑白(L1);这都是在Image.convert
方法中实现的。当然,你必须知道你想做什么处理。你可能想尝试的一件事是在Photoshop或GIMP中处理图像并跟踪你所做的操作,然后寻找如何在PIL中实现这些操作。(首先使用gimp fu脚本可能比尝试使用PIL更简单…)
你不需要为OCR操作图像。例如,您可以使用pytesser:
输出:
相关问题 更多 >
编程相关推荐