美文网首页
Python如何实现OCR

Python如何实现OCR

作者: 田陌允 | 来源:发表于2023-02-18 20:02 被阅读0次

一、离线方法
可以使用Python中的Tesseract OCR库。Tesseract是一个免费的OCR引擎,由谷歌开发,可在Windows、macOS和Linux等各种操作系统上运行。

  • 安装Tesseract OCR库。可以使用以下命令在终端中安装:
pip install pytesseract
  • 导入必要的库。在Python代码中,您需要导入以下库:
import pytesseract
from PIL import Image
  • 加载图片。使用以下代码加载需要识别的图像:
image = Image.open('image.png')
  • 执行OCR。使用以下代码执行OCR:
text = pytesseract.image_to_string(image)
print(text)

实测效果很一般,至少中文是这样

二、在线方法
百度OCR API算是比较好用的,它支持多种图像格式和语言。以下是一个使用Python调用百度OCR API进行文字识别的大致步骤:

  • 创建百度OCR API应用程序,并获取API Key和Secret Key。

  • 安装百度AI开放平台Python SDK。可以使用以下命令在终端中安装:

pip install baidu-aip

  • 导入必要的库。在Python代码中,您需要导入以下库:
from aip import AipOcr
from PIL import Image
import io
  • 初始化AipOcr对象。在Python代码中,您需要使用您的API Key和Secret Key初始化AipOcr对象:
APP_ID = 'your_app_id'
API_KEY = 'your_api_key'
SECRET_KEY = 'your_secret_key'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
  • 加载图片。使用以下代码加载需要识别的图像:
image = Image.open('image.png')
  • 执行OCR。使用以下代码将图像上传到百度OCR API进行处理,并获取识别结果:
img_byte_arr = io.BytesIO()
image.save(img_byte_arr, format='PNG')
image_data = img_byte_arr.getvalue()

result = client.basicGeneral(image_data)
if 'words_result' in result:
    for word in result['words_result']:
        print(word['words'])
else:
    print('OCR failed!')

PS:您需要将your_app_id、your_api_key和your_secret_key替换为您自己的API Key和Secret Key。并且,百度OCR API仅支持上传小于4MB的图像。

若你觉得图很一般,那就不要点赞了囧

相关文章

网友评论

      本文标题:Python如何实现OCR

      本文链接:https://www.haomeiwen.com/subject/jyfvkdtx.html