作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我需要使用 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()
函数
最佳答案
您只需要以与图像相同的格式对数组进行编码,然后如果您希望它以相同的格式使用 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
关于python - 如何将 numpy 数组图像转换为字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50630045/
我是一名优秀的程序员,十分优秀!