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 に答える