0

以下代码来自 Google 的 Vision API 文档,我所做的唯一修改是在底部添加函数的参数解析器。

import argparse
import os
from google.cloud import vision
import io

def detect_text(path):
"""Detects text in the file."""
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('\n"{}"'.format(text.description))

    vertices = (['({},{})'.format(vertex.x, vertex.y)
                for vertex in text.bounding_poly.vertices])

    print('bounds: {}'.format(','.join(vertices)))

ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", type=str,
    help="path to input image")
args = vars(ap.parse_args())
detect_text(args)

如果我从下面这样的终端运行它,我会收到这个无效文件错误:

PS C:\VisionTest> python visionTest.py --image C:\VisionTest\test.png
Traceback (most recent call last):
  File "visionTest.py", line 31, in <module>
    detect_text(args)
  File "visionTest.py", line 10, in detect_text
    with io.open(path, 'rb') as image_file:
TypeError: invalid file: {'image': 'C:\\VisionTest\\test.png'}

我尝试过使用各种图像和图像类型以及从不同位置运行代码但没有成功。

4

1 回答 1

0

似乎该文件不存在或已损坏,因为它甚至没有被读取。您可以尝试另一个图像并验证它是否在您期望的位置?

于 2019-12-08T01:08:25.910 回答