【OpenCV 例程300篇】02. 图像的保存(cv2.imwrite)
专栏地址:『youcans 的 OpenCV 例程300篇 - 总目录』
01. 图像的读取(cv2.imread)
02. 图像的保存(cv2.imwrite)
03. 图像的显示(cv2.imshow)
04. 用 matplotlib 显示图像(plt.imshow)
【OpenCV 例程300篇】02. 图像的保存(cv2.imwrite)
函数 cv2.imwrite() 用于将图像保存到指定的文件。
函数说明:
retval = cv2.imwrite(filename, img [, paras])
- cv2.imwrite() 将 OpenCV 图像保存到指定的文件。
- cv2.imwrite() 基于保存文件的扩展名选择保存图像的格式。
- cv2.imwrite() 只能保存 BGR 3通道图像,或 8 位单通道图像、或 PNG/JPEG/TIFF 16位无符号单通道图像。
参数说明:
filename:要保存的文件的路径和名称,包括文件扩展名
img:要保存的 OpenCV 图像,nparray 多维数组
paras:不同编码格式的参数,可选项
- cv2.CV_IMWRITE_JPEG_QUALITY:设置 .jpeg/.jpg 格式的图片质量,取值为 0-100(默认值 95),数值越大则图片质量越高;
- cv2.CV_IMWRITE_WEBP_QUALITY:设置 .webp 格式的图片质量,取值为 0-100;
- cv2.CV_IMWRITE_PNG_COMPRESSION:设置 .png 格式图片的压缩比,取值为 0-9(默认值 3),数值越大则压缩比越大。
retval:返回值,保存成功返回 True,否则返回 False。
注意事项:
- cv2.imwrite() 保存的是 OpenCV 图像(多维数组),不是 cv2.imread() 读取的图像文件,所保存的文件格式是由 filename 的扩展名决定的,与读取的图像文件的格式无关。
- 对 4 通道 BGRA 图像,可以使用 Alpha 通道保存为 PNG 图像。
- cv2.imwrite() 指定图片的存储路径和文件名,在 python3 中不支持中文和空格(但并不会报错)。必须使用中文时,可以使用 cv2.imencode() 处理,参见扩展例程。
基本例程:
# 1.4 图像的保存imgFile = "../images/logoCV.png" # 读取文件的路径img3 = cv2.imread(imgFile, flags=1) # flags=1 读取彩色图像(BGR)saveFile = "../images/imgSave.png" # 保存文件的路径# cv2.imwrite(saveFile, img3, [int(cv2.IMWRITE_PNG_COMPRESSION), 8]) # 保存图像文件, 设置压缩比为 8cv2.imwrite(saveFile, img3) # 保存图像文件
扩展例程:
# 1.5 保存中文路径的图像imgFile = "../images/logoCV.png" # 读取文件的路径img3 = cv2.imread(imgFile, flags=1) # flags=1 读取彩色图像(BGR)saveFile = "../images/测试图02.jpg" # 带有中文的保存文件路径# cv2.imwrite(saveFile, img3) # imwrite 不支持中文路径和文件名,读取失败,但不会报错!img_write = cv2.imencode(".jpg", img3)[1].tofile(saveFile)
(本节完)
版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/121168935)
Copyright 2022 youcans, XUPT
Crated:2021-11-18
更多内容请见:>『youcans 的 OpenCV 例程300篇 - 总目录』(https://blog.csdn.net/youcans/article/details/125112487)
【OpenCV 例程300篇】02. 图像的保存(cv2.imwrite)相关推荐
- 【OpenCV 例程 300篇】253. 多帧图像(动图)的读取与保存
『youcans 的 OpenCV 例程300篇 - 总目录』 [youcans 的 OpenCV 例程 300篇]253. 多帧图像(动图)的读取与保存 1. 多帧图像(动图) 多帧图像是将多幅图像 ...
- 【OpenCV 例程300篇】01. 图像的读取(cv2.imread)
专栏地址:『youcans 的 OpenCV 例程300篇 - 总目录』 01. 图像的读取(cv2.imread) 02. 图像的保存(cv2.imwrite) 03. 图像的显示(cv2.imsh ...
- 【OpenCV 例程 300篇】252.视频文件的读取与保存
『youcans 的 OpenCV 例程300篇 - 总目录』 [youcans 的 OpenCV 例程 300篇]252. 视频文件的读取与保存 视频文件是由一系列图像组成的,视频的每一帧都是一幅图 ...
- 【OpenCV 例程300篇】40. 图像分段线性灰度变换
『youcans 的 OpenCV 例程300篇 - 总目录』 [youcans 的 OpenCV 例程300篇]40. 图像分段线性灰度变换 分段线性变换函数可以增强图像各部分的反差,增强感兴趣的灰 ...
- 【OpenCV 例程 300 篇】112. 滤波反投影重建图像
专栏地址:『youcans 的 OpenCV 例程 300篇 - 总目录』 [第 7 章:图像复原与重建] 110. 投影和雷登变换 111. 雷登变换反投影重建图像 112. 滤波反投影重建图像 [ ...
- 【OpenCV 例程300篇】204. 图像的色彩风格滤镜
OpenCV 例程200篇 总目录 201. 图像的颜色空间转换 202. 查表快速替换(cv.LUT) 203. 伪彩色图像处理 204. 图像的色彩风格滤镜 205. 调节色彩平衡/饱和度/明度 ...
- 【OpenCV 例程 300 篇】107. 退化图像的维纳滤波
专栏地址:『youcans 的 OpenCV 例程 300篇 - 总目录』 [第 7 章:图像复原与重建] 106. 退化图像的逆滤波 107. 退化图像的维纳滤波 108. 约束最小二乘方滤波 10 ...
- 【OpenCV 例程300篇】04. 用 matplotlib 显示图像(plt.imshow)
专栏地址:『youcans 的 OpenCV 例程300篇 - 总目录』 01. 图像的读取(cv2.imread) 02. 图像的保存(cv2.imwrite) 03. 图像的显示(cv2.imsh ...
- 【youcans的OpenCV例程300篇】总目录
版权声明: 转载本系列作品时必须标注以下版权内容: [youcans@qq.com, youcans的OpenCV 例程300篇, https://blog.csdn.net/youcans/cate ...
最新文章
- 微软宣布将于08年发布Centro服务器软件
- hdu 3183 A Magic Lamp(给一个n位的数,从中删去m个数字,使得剩下的数字组成的数最小(顺序不能变),然后输出)...
- Django REST framework+Vue 打造生鲜电商项目(笔记八)
- abstract class 和 interface 区别
- java获取主机信息大全,网络编程:Java获取网络主机信息
- 「面试」美团肝了我30+问题
- C语言第五次博客作业
- javascript基础与编写习惯
- Benefits of SIMD Programming | SIMD的优势
- maven配置testng_TestNG Maven Surefire插件配置
- 名企架构师的心声:让我一次“架”个“构”
- error:Microsoft Visual C++ 14.0 is required.
- 域用户权限|连接DC终端服务
- [商业_法务] 2、注册公司起名很费劲,用C++怒写个随机名字生成器
- 惠普bios硬重置_惠普BIOS密码重置工具下载_惠普重置BIOS下载 1.66 免费版_当载软件站...
- ubuntu16.04多GPU风扇转速调整
- $(...).nicescroll is not a function报错分析
- JAVA 进制转换工具
- Python3 找200以内的所有素数/质数 | break与continue
- 群体遗传学瓶颈效应bottleneck effect