将cv2的numpy数组变成与读取图像的二进制文件相同?

时间:2019-03-20 16:49:53

标签: python cv2

是否有任何方法可以将图像的numpy数组表示形式与文件的读取binary(rb)相同,因此该代码将起作用。

cv_img = cv2.imread("image.jpg")
# Some code here related to the cv_img var...
img = open("image.jpg", 'rb').read()
print(cv_img == img) # So that will be true.

我想要那是因为我不想保存图像就能得到它

open(“ image.jpg”,'rb')。read()输出。

在此先感谢您的回答。我在这里还很新,所以我对提出问题的方式持批评态度:)

1 个答案:

答案 0 :(得分:0)

简短的回答是“否”。从open("image.jpg", 'rb').read()得到的是JPEG编码图像字节的一维数组。 cv2.imread()为您提供8位值的3维(宽x高x一个通道,用于蓝色,绿色和红色)。一维数组和三维数组不是直接可比的,即使它们是一维数组,它也包含一种编码,该编码已被解码以形成三维数组。