通过一些http请求,我能够接收二进制形式的图像b'xffxd8xffxe0x00...
和:
with open('image.jpg', 'wb') as out_file:
out_file.write(binary_content)
其中CCD_ 2是包含通过请求I将图像保存到文件中而接收到的数据的字符串。
之后,我可以使用OpenCV方法读取此图像。但我想做一个从二进制字符串到OpenCV Mat的直接传递,没有任何中间值。cv2.decode
方法不起作用。
io.BytesIO
和PIL
工作良好。关闭此q.
如果您想留在SciPy生态系统中,那么imageio
库(以前是SciPy的一部分(运行良好。
from imageio import imread
image_array = imread("image_path.jpg")
上面的代码给了你一个uint8数组,如果你想要一个浮点数组,你可以很容易地将其转换为
from imageio import imread
image_array = imread("image_path.jpg").astype(float)