【机器学习入门笔记4:OpenCV图片的写入和不同图片质量保存】

时间:2024-06-01 08:39:51

图片的写入:

import cv2
#图片解码
img = cv2.imread('imgs/02_img.jpg',0)
#图片写入 参数1 name 参数2 date
cv2.imwrite('imgs/02_img_test.jpg',img)
cv2.imwrite('imgs/02_img_test.png',img)

可以得到如下输出图像,代码中解析图片时解析的时灰度图,输出也为灰度。

A DEMO :嘻嘻嘻嘻嘻嘻嘻嘻嘻

【机器学习入门笔记4:OpenCV图片的写入和不同图片质量保存】20190203

 

图片不同质量保存:

使用cv2.imwrite的第三个参数控制图片成像质量,参数范围0-100, JPG属于有损压缩

import cv2
img=cv2.imread('imgs/03_img.jpg',1)
cv2.imwrite('imgs/03_img_test.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,0])

可以看到图像质量发生了很大变化,真的 骗你是小狗

【机器学习入门笔记4:OpenCV图片的写入和不同图片质量保存】20190203

从文件大小也可看出:从66KB压缩到了12KB

【机器学习入门笔记4:OpenCV图片的写入和不同图片质量保存】20190203

我们也可以使用cv2.IMWRITE_PNG_COMPRESSION参数来压缩图片,范围是0-9,压缩比为0时图像质量越高。

PNG格式压缩可以做到无损和透明属性设置,相比JPG略有优势。

如图所示:

import cv2
img=cv2.imread('imgs/03_img.jpg',1)
cv2.imwrite('imgs/03_img_test.png',img,[cv2.IMWRITE_PNG_COMPRESSION,0])

输出无压缩时的图像:

【机器学习入门笔记4:OpenCV图片的写入和不同图片质量保存】20190203