是否可以使用Google Vision API一次扫描10张图像?到目前为止,只做1

问题描述

我们当前正在使用google vision API进行ocr项目,其中图像返回文本值...但是到目前为止,我们仅能处理1张图像,是否可以处理10张图像?即时通讯使用python,此代码只能运行一张图片。.谢谢

import os,io
from google.cloud import vision
from google.cloud.vision import types
import pandas as pd

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = r'anjir.json'

client = vision.ImageAnnotatorClient()

FILE_NAME = 'receipttest2.jpg'
FOLDER_PATH = r'C:\Users\Fadhlan\Desktop\Python venv\image\text'

with io.open(os.path.join(FOLDER_PATH,FILE_NAME),'rb') as image_file:
    content = image_file.read()

image = vision.types.Image(content=content)
response = client.text_detection(image=image)
texts = response.text_annotations

df = pd.DataFrame(columns=['locale','description'])
for text in texts:
    df = df.append(
        dict(
            locale=text.locale,description=text.description
        ),ignore_index=True

    )
print(df['description'][0])

解决方法

由于batch image annotation offline在异步模式下受支持,因此可以使用"TEXT_DETECTION" feature。您可以找到Python in here的示例代码,如您所见,它需要为每个图像创建一个request元素并将其添加到请求数组中:

client = vision_v1.ImageAnnotatorClient()

//image one
source1 = {"image_uri": image_uri_1}
image1 = {"source": source1}
features1 = [
    {"type": enums.Feature.Type.LABEL_DETECTION},{"type": enums.Feature.Type.IMAGE_PROPERTIES}
]

//image two
source2 = {"image_uri": image_uri_2}
image2 = {"source": source2}
features2 = [
    {"type": enums.Feature.Type.LABEL_DETECTION}
]

# Each requests element corresponds to a single image
requests = [{"image": image1,"features": features1},{"image": image2,"features": features2}]
gcs_destination = {"uri": output_uri}

# The max number of responses to output in each JSON file
batch_size = 2

output_config = {"gcs_destination": gcs_destination,"batch_size": batch_size}
operation = client.async_batch_annotate_images(requests,output_config)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...