欢迎访问宙启技术站
智能推送

Python中实现的基于pytesseract的中文图片OCR文字识别程序

发布时间:2023-12-26 08:32:34

以下是一个使用Python和pytesseract实现的中文图片OCR文字识别程序的例子。

import cv2
import pytesseract

def ocr(image_path):
    # 读取图片
    image = cv2.imread(image_path)
    
    # 图像预处理
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)  # 转换为灰度图像
    thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]  # 二值化
    
    # OCR识别
    text = pytesseract.image_to_string(thresh, lang='chi_sim')  # 使用中文简体模型识别
    
    return text

# 使用例子
if __name__ == '__main__':
    image_path = 'example.png'  # 图片路径
    text = ocr(image_path)
    print(text)

在上述例子中,首先导入cv2pytesseract库。然后定义了一个ocr函数,该函数接收图片路径作为参数,并返回识别的文字。

ocr函数中,首先使用cv2.imread读取图片。随后进行图像预处理,包括转换为灰度图像和二值化处理。最后使用pytesseract.image_to_string函数进行OCR识别,默认使用中文简体模型。

在使用例子中,指定图片路径为example.png,然后调用ocr函数进行文字识别,并将识别结果打印出来。

需要注意的是,为了能够正确识别中文,需要提前安装tesseract软件和tesseract的中文简体模型,并将其配置好。具体安装和配置步骤可以参考pytesseract的官方文档。