OpenCV技术应用(3)— 把.png图像保存为.jpg图像

**前言:****Hello大家好,我是小哥谈。**本节课就手把手教你如何把.png图像保存为.jpg图像,希望大家学习之后能够有所收获~!🌈

目录

🚀1.技术介绍

🚀2.实现代码

🚀1.技术介绍

如果在电脑某个磁盘下的某个文件夹中有多张以.png格式保存的图像,现在要把这些.png格式的图像保存为.jpg格式的图像,那么需要如何操作呢?有的读者朋友会提议采用"手动模式",即把该文件夹中的每一幅.png格式的图像手动修改为.jpg格式的图像。这种处理模式虽然有效,但是费时费力;如果该文件夹中既有.png格式的图像,又有.jpg格式的图像,采用"手动模式"的话,难免会有些捉襟见肘。本技术的目的就是如何利用Python OpenCV既有效,又省时省力地解决这个问题。

想要利用Python OpenCV把文件夹中的.png格式的图像保存为.jpg格式的图像,首先要遍历这个文件夹中的所有图像文件。因此,需要借助os模块中的listdir()方法,该方法用于返回指定路径下的文件名和文件夹名的列表。

listdir()方法的语法格式如下所示:

python 复制代码
os.listdir(path)

参数说明:

path:指的是被指定的路径,例如"E:\\"、"E:\\images\\"等。

本技术的目的是把指定文件夹中的.png格式的图像保存为.jpg格式的图像,这里有个关键词:"保存"。那么,如何保存图像呢?

OpenCV模块提供了用于保存图像的imwrite()方法,该方法的语法格式如下:

python 复制代码
cv2.imwrite(filename, img)

参数说明:

filename:保存图像时所用的完整路径。

img:要保存的图像。

程序把指定文件夹中的.png图像保存为.jpg图像后,其中的.png图像仍然在这个文件夹中。为了删除这些.png图像,需要借助os模块中的remove()方法,删除这个文件夹中的.png图像。

remove()方法的语法格式如下:

python 复制代码
os.remove(path)

参数说明:

path:指的是要被删除的文件的完整路径名。例如,删除E盘下的images文件夹中的1.png,那么path的值为" E:\\images\\1.png "(双引号是英文格式的)。


🚀2.实现代码

具体的实现代码如下所示:

python 复制代码
import os
import cv2

path = "E:\\images\\" # 声明一个路径,即E盘下的、名为images文件夹
for filename in os.listdir(path): # 遍历E盘下的、名为images文件夹中的各个文件
    if os.path.splitext(filename)[1] == ".png": # 如果图像是以.png格式保存的话
        img = cv2.imread(path + filename) # 根据拼接的路径读取图片
        newfilename = filename.replace(".png", ".jpg") # 把.png图像修改为.jpg图像
        cv2.imwrite(path + newfilename, img) # 以.jpg格式保存图像
        os.remove(path + filename) # 删除当前文件夹中以.png格式保存的图像
print("已经把当前文件夹中的.png图像保存为.jpg图像!")

相关推荐
中年程序员一枚9 小时前
Springboot报错Template not found For name “java/lang/Object_toString.sql
java·spring boot·python
棒棒的皮皮9 小时前
【深度学习】YOLO模型评估之指标、可视化曲线分析
人工智能·深度学习·yolo·计算机视觉
驭白.9 小时前
不止于自动化:新能源汽车智造的数字基座如何搭建?
大数据·人工智能·自动化·汽车·数字化转型·制造业
企业智能研究10 小时前
什么是数据治理?数据治理对企业有什么用?
大数据·人工智能·数据分析·agent
阿里云大数据AI技术10 小时前
面向 Interleaved Thinking 的大模型 Agent 蒸馏实践
人工智能
AI Echoes10 小时前
LangChain 非分割类型的文档转换器使用技巧
人工智能·python·langchain·prompt·agent
哔哔龙10 小时前
LangChain核心组件可用工具
人工智能
全栈独立开发者10 小时前
点餐系统装上了“DeepSeek大脑”:基于 Spring AI + PgVector 的 RAG 落地指南
java·人工智能·spring
程序之巅11 小时前
VS code 远程python代码debug
android·java·python
2501_9418787411 小时前
在班加罗尔工程实践中构建可持续演进的机器学习平台体系与技术实现分享
人工智能·机器学习