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 分钟前
【大白话 AI 答疑】第8篇 BERT与传统机器学习(如贝叶斯)在文本分类中的区别及效果对比
人工智能·机器学习·bert
安徽正LU o561-6o623o710 分钟前
露-数显式脑立体定位仪 大动物定位仪 小动物脑定位仪
人工智能
andwhataboutit?12 分钟前
pytorch-CycleGAN-and-pix2pix学习
人工智能·pytorch·学习
渡我白衣16 分钟前
计算机组成原理(7):定点数的编码表示
汇编·人工智能·嵌入式硬件·网络协议·机器学习·硬件工程
vv_50117 分钟前
大模型 langchain-组件学习(中)
人工智能·学习·langchain·大模型
╭⌒若隐_RowYet——大数据17 分钟前
AI Agent(智能体)简介
人工智能·ai·agent
qq_3561969518 分钟前
Day 43图像数据与显存机制@浙大疏锦行
python
yaoh.wang22 分钟前
力扣(LeetCode) 94: 二叉树的中序遍历 - 解法思路
python·算法·leetcode·面试·职场和发展·二叉树·跳槽
Evand J23 分钟前
【课题推荐】基于视觉(像素坐标)与 IMU 的目标/自身运动估计(Visual-Inertial Odometry, VIO),课题介绍与算法示例
人工智能·算法·计算机视觉
摸鱼仙人~24 分钟前
Flask-SocketIO 连接超时问题排查与解决(WSL / 虚拟机场景)
后端·python·flask