opencv保存和读入图片的结果不一致的问题

今天用python读取和保存图像时,发现读取jpg的图像,在保存为jpg,再读取时,两个图像的差会有很大不同。原因是,jpeg在保存的时会有损失,png格式为无损保存。

import cv2

img1 = cv2.imread("test.jpg")
cv2.imwrite("test1.jpg",img1)

img2 = cv2.imread("test1.jpg")
img_diff = img1 - img2
cv2.imwrite("diff1.png",img_diff)
cv2.imshow("imgdiff1",img_diff)
cv2.waitKey(100)


cv2.imwrite("test2.png",img1)
img3 = cv2.imread("test2.png")
img_diff = img1 - img3
cv2.imwrite("diff2.png",img_diff)
cv2.imshow("imgdiff2",img_diff)
cv2.waitKey(100)

opencv保存和读入图片的结果不一致的问题_第1张图片

test.jpg

opencv保存和读入图片的结果不一致的问题_第2张图片

diff1.png

opencv保存和读入图片的结果不一致的问题_第3张图片

diff2.png

你可能感兴趣的:(OpenCV)