我有一个以字节为单位的图像:
print(image_bytes)
b'\xff\xd8\xff\xfe\x00\x10Lavc57.64.101\x00\xff\xdb\x00C\x00\x08\x04\x04\x04\x04\x04\x05\x05\x05\x05\x05\x05\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x07\x07\x07\x08\x08\x08\x07\x07\x07\x06\x06\x07\x07\x08\x08\x08\x08\t\t\t\x08\x08\x08\x08\t\t\n\n\n\x0c\x0c\x0b\x0b\x0e\x0e\x0e\x11\x11\x14\xff\xc4\x01\xa2\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x01\x00\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00\x00\ ... some other stuff
我可以使用Pillow
将其转换为NumPy数组:
image = numpy.array(Image.open(io.BytesIO(image_bytes)))
但我真的不喜欢用枕头。有没有办法使用clear OpenCV,或者直接使用NumPy,或者其他更快的库?
我创建了一个2x2 JPEG image来测试这个。图像有白色、红色、绿色和紫色像素。我用了^{} 和^{}
虽然通道顺序是BGR而不是像
PIL.Image
中那样的RGB,但这似乎是可行的。可能有一些标志可以用来调整这个。测试结果:相关问题 更多 >
编程相关推荐