Google Vision APIで画像を認識する必要があります。例の中では、次の構成を使用しています。
_with io.open('test.png', 'rb') as image_file:
content = image_file.read()
image = vision.types.Image(content=content)
_
同様のことをする必要がありますが、私のイメージは
_content = cv2.imread()
_
バイトではなく、numpy配列を返します。私は試した:
_content = content.tobytes()
_
配列をバイトに変換しますが、異なる結果を与えるため、明らかに異なるバイトを返します。
だから、画像配列をopen()
functionで取得した配列に似せる方法
画像と同じ形式で配列をエンコードする必要があり、thenは同じ形式で使用する場合はtobytes()
を使用します。
>>> import cv2
>>> with open('image.png', 'rb') as image_file:
... content1 = image_file.read()
...
>>> image = cv2.imread('image.png')
>>> success, encoded_image = cv2.imencode('.png', image)
>>> content2 = encoded_image.tobytes()
>>> content1 == content2
True