OpenCV:图像质量

亦凉 2022-02-01 17:39 341阅读 0赞

在这里插入图片描述
在这里插入图片描述
我们准备了一张原大小为414K的图片,然后对它进行压缩

  1. import cv2
  2. img = cv2.imread('image.jpeg',1)
  3. cv2.imwrite('imageTest.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,0])

可以看到新生成的图片只有8K,要小了很多很多
在这里插入图片描述
但是图片失真非常严重
在这里插入图片描述
我们可以稍微调整一下代码,再压缩一次

  1. img = cv2.imread('image0.jpeg',1)
  2. cv2.imwrite('imageTest2.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,50])

这次压缩后有33K
在这里插入图片描述
但是图片的失真程度好了很多
在这里插入图片描述
在jpg的压缩中,都是有损压缩

  1. cv2.imwrite('imageTest2.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,50])

中的50即压缩程度,取值范围为0~100,数值越大,则图片压缩损失越小,清晰度越高。

以上都是jpg的压缩,png压缩与jpg略有不同

  • png是无损压缩
  • jpg无法设置图片透明度,但是png可以
  • jpg的压缩比取值为0-100,压缩比越高,图片质量越高,而png取值范围为0-9,取值月底时图片质量越高。

发表评论

表情:
评论列表 (有 0 条评论,341人围观)

还没有评论,来说两句吧...

相关阅读