我只能做成这样:
用pytesseract来提取,还是不够准确。有谁知道怎样去掉那些黑点吗?
去掉黑点已解决。
但为什么这时用image_to_string
函数会报错的?平时都没错
Traceback (most recent call last):
File "test1.py", line 10, in <module>
text = pytesseract.image_to_string(Image.open('temp2.jpg'))
File "/usr/local/lib/python3.5/site-packages/pytesseract/pytesseract.py", line 163, in image_to_string
errors = get_errors(error_string)
File "/usr/local/lib/python3.5/site-packages/pytesseract/pytesseract.py", line 111, in get_errors
error_lines = tuple(line for line in lines if line.find('Error') >= 0)
File "/usr/local/lib/python3.5/site-packages/pytesseract/pytesseract.py", line 111, in <genexpr>
error_lines = tuple(line for line in lines if line.find('Error') >= 0)
TypeError: a bytes-like object is required, not 'str'
from PIL import Image,ImageEnhance,ImageFilter
import pytesseract
im = Image.open("temp.jpg")
im = im.filter(ImageFilter.MedianFilter())
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')
im.save('temp2.jpg')
text = pytesseract.image_to_string(Image.open('temp2.jpg'))
print(text)
第二张图要去掉黑点,就是一个二值化降噪的过程。可以用PIL(Python Image Library)试试
代码:
效果:
处理前

处理后
