使用 Google Cloud Vision API 在 python 中使用 cv2 从图像中提取文本
Extract Text from an image using Google Cloud Vision API using cv2 in python
我们正在尝试使用 google-cloud-vision API:
从图像中提取文本
import io
import os
from google.oauth2 import service_account
from google.cloud import vision
# The name of the image file to annotate (Change the line below 'image_path.jpg' ******)
path = os.path.join(os.path.dirname(__file__), '3.jpg') # Your image path from current directory
client = vision.ImageAnnotatorClient()
with io.open(path, 'rb') as image_file:
content = image_file.read()
image = vision.types.Image(content=content)
response = client.text_detection(image=image)
texts = response.text_annotations
print('Texts:')
for text in texts:
print(format(text.description))
在这段代码中,我们需要让 API 只通过 'cv2' 函数读取图像,而不是使用 'io' 函数:
# Read image file
with io.open(img_path, 'rb') as image_file:
content = image_file.read()
任何建议都会有帮助
您只需将从 cv2
创建的 numpy 数组转换为 Google Vision API
使用的字节。以下是您的操作方法:
import cv2
with open(path, 'rb') as image_file:
content1 = image_file.read()
image = cv2.imread(path)
success, encoded_image = cv2.imencode('.jpg', image)
content2 = encoded_image.tobytes()
image_cv2 = vision.types.Image(content=content2)
response = client.text_detection(image=image_cv2)
texts = response.text_annotations
我们正在尝试使用 google-cloud-vision API:
从图像中提取文本import io
import os
from google.oauth2 import service_account
from google.cloud import vision
# The name of the image file to annotate (Change the line below 'image_path.jpg' ******)
path = os.path.join(os.path.dirname(__file__), '3.jpg') # Your image path from current directory
client = vision.ImageAnnotatorClient()
with io.open(path, 'rb') as image_file:
content = image_file.read()
image = vision.types.Image(content=content)
response = client.text_detection(image=image)
texts = response.text_annotations
print('Texts:')
for text in texts:
print(format(text.description))
在这段代码中,我们需要让 API 只通过 'cv2' 函数读取图像,而不是使用 'io' 函数:
# Read image file
with io.open(img_path, 'rb') as image_file:
content = image_file.read()
任何建议都会有帮助
您只需将从 cv2
创建的 numpy 数组转换为 Google Vision API
使用的字节。以下是您的操作方法:
import cv2
with open(path, 'rb') as image_file:
content1 = image_file.read()
image = cv2.imread(path)
success, encoded_image = cv2.imencode('.jpg', image)
content2 = encoded_image.tobytes()
image_cv2 = vision.types.Image(content=content2)
response = client.text_detection(image=image_cv2)
texts = response.text_annotations