先上代码(第二个版本为封装之后的)
必须现在电脑上按照Tesseract-OCR,下载地址:
链接:https://pan.baidu.com/s/1FBA2lXKdQeYGn3gWC3vBoQ
提取码:zaop
https://digi.bib.uni-mannheim.de/tesseract/
from PIL import Image
import pytesseract
from PIL import ImageEnhance
pytesseract.pytesseract.tesseract_cmd = 'c://Program Files (x86)//Tesseract-OCR//tesseract.exe'
tessdata_dir_config = '--tessdata-dir "c://Program Files (x86)//Tesseract-OCR//tessdata"'
img = Image.open('02.png')
img = img.convert('RGB')
enhancer = ImageEnhance.Color(img)
enhancer = enhancer.enhance(0)
enhancer = ImageEnhance.Brightness(enhancer)
enhancer = enhancer.enhance(2)
enhancer = ImageEnhance.Contrast(enhancer)
enhancer = enhancer.enhance(8)
enhancer = ImageEnhance.Sharpness(enhancer)
img = enhancer.enhance(20)
print(pytesseract.image_to_string(img, lang='eng', config=tessdata_dir_config))
尤其注意下面这2行,必须写上,网上哪些写环境变量啥的,我尝试都不行.
pytesseract.pytesseract.tesseract_cmd = 'c://Program Files (x86)//Tesseract-OCR//tesseract.exe'
tessdata_dir_config = '--tessdata-dir "c://Program Files (x86)//Tesseract-OCR//tessdata"'
from PIL import Image
import pytesseract
#二值化图像传入图像和阈值
def erzhihua(image, threshold):
''':type image:Image.Image'''
image = image.convert('L')
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
return image.point(table, '1')
def pic_orc():
im = Image.open('01.png')
image = erzhihua(im, 127)
pytesseract.pytesseract.tesseract_cmd = 'c://Program Files (x86)//Tesseract-OCR//tesseract.exe'
tessdata_dir_config = '--tessdata-dir "c://Program Files (x86)//Tesseract-OCR//tessdata"'
result = pytesseract.image_to_string(image, lang='eng', config=tessdata_dir_config)
print(result)
if __name__ == '__main__':
pic_orc()
本文介绍如何使用Tesseract OCR库进行图像的文字识别,包括图像预处理、二值化及配置环境变量等关键步骤。通过具体代码示例,展示了如何在Python环境中调用Tesseract OCR进行图像识别。
7147

被折叠的 条评论
为什么被折叠?



