不丢失使用 cv2.imwrite() 保存的图片的质量

Not losing the quality of pictures saved with cv2.imwrite()

我很想知道OpenCV的cv2.imwrite()函数的效果。

我注意到当我用cv2.imread()读取图片并用cv2.imwrite()功能再次保存时,它们的质量对于人眼来说已经不一样了。

请问如何使用cv2.imwrite()功能保存后的图片质量与原图保持一致

我问这个问题是因为我在一个更大的程序中确实有一个严重的问题,当我检查这个功能保存的图片的质量时,我猜我的问题肯定来自这个功能。

比如我在图片上用鼠标移动画了红色(Red=255)的小方块。当我保存图片并计算红色等于 255 的像素数时,即使我用纯红色绘制了很多像素,我也只能得到很少的像素。但是当我用眼睛检查图像时,我注意到我绘制的红色像素没有正确保存为我选择的正确红色 (255)。

有人知道如何解决这个问题吗?我的意思是在不降低质量的情况下使用 OpenCV 保存图片。

JPEG 是一种有损格式,您需要将图像保存为 PNG,因为它是一种无损格式。