📅  最后修改于: 2023-12-03 15:23:36.169000             🧑  作者: Mango
在很多场景下,我们需要从图像中提取文本。例如,OCR技术可以用来从纸质文件、图片、PDF文件中提取文本信息,然后把这些文本转换成电子形式。
现在,有很多在线工具和API可以轻松地从图像中提取文本,同时支持各种类型的图像格式,比如jpeg、png、pdf等。
Google Cloud Vision API 可以识别和提取图像中的文本, 返回的结果具有丰富的格式,可以包含定位、字体和样式等信息。
首先,你需要拥有Google Cloud平台账户,并且开通 Cloud Vision API。然后你可以使用各种编程语言(例如Python、Java、PHP等)中的Cloud Vision API客户端库来调用API。
以下是使用Python中的Cloud Vision API示例代码:
import io, os
from google.cloud import vision
from google.cloud.vision import types
# 引入Google Application Credentials,以便访问API
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = r'C:\path\to\creds.json'
# 实例化API客户端
client = vision.ImageAnnotatorClient()
# 载入要识别的图像
with io.open('path/to/image.jpg', 'rb') as image_file:
content = image_file.read()
image = types.Image(content=content)
# 调用API,返回结果
response = client.text_detection(image=image)
texts = response.text_annotations
# 输出结果
for text in texts:
print('\n"{}"'.format(text.description))
以上示例代码中,我们实例化了一个Cloud Vision的API客户端,并且载入了要识别的图片。 然后调用API,返回一个包含文本识别结果的响应。最后,我们将结果输出到控制台上。
Microsoft Azure Computer Vision API的OCR服务可以帮助识别图像中的文本,同时可以将识别结果转换为格式化的字符串,支持多种编程语言,如C#, Java, Python等。
以下是使用Python中的Microsoft Azure Computer Vision API的OCR示例代码:
import requests
from pprint import pprint
# 引入实例的API Key and Endpoint,以便访问API
subscription_key = "YOUR_SUBSCRIPTION_KEY"
endpoint = "YOUR_ENDPOINT"
# 请求头信息
headers = {'Ocp-Apim-Subscription-Key': subscription_key,
'Content-Type': 'application/octet-stream'}
# 载入要识别的图像
image_path = 'path/to/image.jpg'
image_data = open(image_path, "rb").read()
# 发送请求,返回结果
response = requests.post(endpoint + "/vision/v3.1/ocr", headers=headers, data=image_data)
# 解析结果
response = response.json()
pprint(response)
以上代码中,我们使用Python编程语言调用 Azure Computer Vision OCR API,通过传入API Key和Endpoint及图片的信息,将图片发送到API,然后解析返回结果。
除了使用API之外,还可以使用在线OCR工具来提取图像中的文本。 这些在线工具通常是免费的,并且可以处理各种类型的图像。
以下是一些常用的在线OCR工具:
使用在线OCR工具通常不需要编程知识,只需要上传图像并进行简单配置即可获得结果。然而,这些工具可能对隐私和安全造成威胁,因此在使用时应格外注意。
以上就是几种从图像中提取文本的方法,并且为程序员提供了一些示例代码。 使用这些方法,你可以在各种场景下轻松地获取文本信息。