在Python中,获取图片中的中文文本通常需要使用光学字符识别(OCR)技术.
使用百度OCR API:百度提供了OCR API服务,可以通过API调用来识别图片中的文本,包括中文。你需要注册百度开发者账号,获取API密钥,然后使用Python中的HTTP请求库发送图片并接收识别结果
使用微软Azure OCR服务:微软Azure也提供了OCR服务,可以用来提取中文文本。与百度API类似,你需要注册Azure账号,创建一个OCR服务,然后使用Python中的HTTP请求库发送请求并获取结果。
Tesseract OCR库:
pip install pytesseract
from PIL import Image import pytesseract # 打开图像 image = Image.open('your_image.png') # 使用Tesseract进行文本提取 text = pytesseract.image_to_string(image, lang='chi_sim') # 输出提取的中文文本 print(text)
EasyOCR库:
pip install easyocr
import easyocr # 创建EasyOCR Reader reader = easyocr.Reader(['ch_sim']) # 打开图像 image = 'your_image.png' # 使用EasyOCR进行文本提取 results = reader.readtext(image) # 输出提取的中文文本 for (bbox, text, prob) in results: print(text)
PyOCR库:
pip install pyocr
import pyocr import pyocr.builders from PIL import Image # 获取Tesseract OCR工具 tools = pyocr.get_available_tools() tool = tools[0] # 打开图像 image = Image.open('your_image.png') # 使用PyOCR进行文本提取 text = tool.image_to_string( image, lang='chi_sim', builder=pyocr.builders.TextBuilder() ) # 输出提取的中文文本 print(text)
Google Cloud Vision API库:
pip install google-cloud-vision
from google.cloud import vision_v1p3beta1 as vision from google.oauth2 import service_account # 设置认证凭据 credentials = service_account.Credentials.from_service_account_file( 'your-service-account-key.json' ) # 创建Vision API客户端 client = vision.ImageAnnotatorClient(credentials=credentials) # 打开图像 with open('your_image.png', 'rb') as image_file: content = image_file.read() # 创建图像对象 image = vision.Image(content=content) # 使用Vision API进行文本提取 response = client.text_detection(image=image) # 输出提取的中文文本 for text in response.text_annotations: print(text.description)
请注意,对于Google Cloud Vision API,你需要替换 'your-service-account-key.json' 为你自己的服务账户密钥文件路径。确保在使用这些示例代码之前,你已经正确配置了相应的库和服务。