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图像!")

相关推荐
会飞的老朱2 小时前
医药集团数智化转型,智能综合管理平台激活集团管理新效能
大数据·人工智能·oa协同办公
聆风吟º3 小时前
CANN runtime 实战指南:异构计算场景中运行时组件的部署、调优与扩展技巧
人工智能·神经网络·cann·异构计算
寻星探路4 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
Codebee5 小时前
能力中心 (Agent SkillCenter):开启AI技能管理新时代
人工智能
聆风吟º6 小时前
CANN runtime 全链路拆解:AI 异构计算运行时的任务管理与功能适配技术路径
人工智能·深度学习·神经网络·cann
uesowys6 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
AI_56786 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
User_芊芊君子6 小时前
CANN大模型推理加速引擎ascend-transformer-boost深度解析:毫秒级响应的Transformer优化方案
人工智能·深度学习·transformer
ValhallaCoder6 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
智驱力人工智能7 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算