📜  在线从图像中提取文本 (1)

📅  最后修改于: 2023-12-03 15:23:36.169000             🧑  作者: Mango

在线从图像中提取文本

在很多场景下,我们需要从图像中提取文本。例如,OCR技术可以用来从纸质文件、图片、PDF文件中提取文本信息,然后把这些文本转换成电子形式。

现在,有很多在线工具和API可以轻松地从图像中提取文本,同时支持各种类型的图像格式,比如jpeg、png、pdf等。

方法1: 使用Google Cloud Vision API

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,返回一个包含文本识别结果的响应。最后,我们将结果输出到控制台上。

方法2:使用Microsoft Azure Computer Vision 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,然后解析返回结果。

方法3:使用在线OCR工具

除了使用API之外,还可以使用在线OCR工具来提取图像中的文本。 这些在线工具通常是免费的,并且可以处理各种类型的图像。

以下是一些常用的在线OCR工具:

  • 转换神器,支持多个文件格式和多种识别语言。
  • ABBYY FineReader Online,支持多种文件格式和语言,并且提供高精度的OCR识别。
  • ocr.space, 具备高精度OCR技术和API, 支持多种语言和格式的文档,如PDF, 图片格式等。

使用在线OCR工具通常不需要编程知识,只需要上传图像并进行简单配置即可获得结果。然而,这些工具可能对隐私和安全造成威胁,因此在使用时应格外注意。

以上就是几种从图像中提取文本的方法,并且为程序员提供了一些示例代码。 使用这些方法,你可以在各种场景下轻松地获取文本信息。