[python][转载]图片np.array格式转成bytes格式

Posted FL1623863129

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[python][转载]图片np.array格式转成bytes格式相关的知识,希望对你有一定的参考价值。

需要将图片的np.array数据转换为bytes,转换之后的bytes数据要等价于open(file,"rb")。
在使用numpy的tobytes(等价于tostring)方法发现得到的bytes数据并不等价于open(file,"rb")数据,需要对array数据进行相同的图片格式编码之后,再使用tobytes才行。

import cv2
img_path = "img/test.jpg"
# 打开图片文件获取二进制数据
with open(img_path,"rb") as f:
    #读取图片的二进制数据
    bin_contents = f.read()

# 使用opencv读取图片
img = cv2.imread(img_path)
# 将numpy的数组转换为bytes
array_bytes = img.tobytes() # 或者使用img.tostring()


# 对数组的图片格式进行编码
success, encoded_image = cv2.imencode(".jpg", img)
# 将数组转为bytes
img_bytes = encoded_image.tostring()

以上是关于[python][转载]图片np.array格式转成bytes格式的主要内容,如果未能解决你的问题,请参考以下文章

python中读取和保存图片的方法对比

python中读取和保存图片的方法对比

Python中 list, numpy.array, torch.Tensor 格式相互转化

python中PIL.Image,OpenCV,Numpy图像格式相互转换

跟老奶奶说numpy中的mat与array

Python如何重叠图片?