Opencv imwrite结果与原始数组不同

使用以下代码

img = cv2.imread('')
cv2.imwrite('xxx.jpg', img[0: 64, 0: 64, :]) 
tmp = cv2.imread('xxx.jpg')
tmp - img[0: 64, 0: 64, :]

好像与原始结果相差1或2

得到的结果不为0

jpg是有损压缩算法,保存再读取,相当于压缩再解压,数据矩阵有微小差别是正常的。试试保存为bmp文件就不会有这个问题了。