我来为您详细讲解Python OpenCV读取png图像转成jpg图像存储的方法。
要使用OpenCV库来读取和存储图像,首先需要将库导入到Python代码中。代码如下:
import cv2
使用OpenCV库读取图片的函数是cv2.imread
。其中,第一个参数是图片的文件名,第二个参数是读取图片的方式。代码如下:
img = cv2.imread('image.png', cv2.IMREAD_UNCHANGED)
要将png图像转成jpg图像,需要使用OpenCV中的cv2.imwrite
函数。该函数需要两个参数:第一个参数是存储图像的文件名,第二个参数是要存储的图像。代码如下:
cv2.imwrite('image.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 100])
这里注意cv2.imwrite
函数的第三个参数,其中[cv2.IMWRITE_JPEG_QUALITY, 100]
表示将输出的图片压缩质量设置为100%。如果需要更高质量的输出图片,可以将这个值调高,最高可达100。
import cv2
# 读取png图像
img = cv2.imread('image.png', cv2.IMREAD_UNCHANGED)
# 转成jpg图像并存储
cv2.imwrite('image.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 100])
如果想要批量地将所有png文件转成jpg文件并存储,可以使用以下代码:
import os
import cv2
# 遍历当前文件夹下的所有png文件并进行转换
for filename in os.listdir('.'):
if not filename.endswith('.png'):
continue
img = cv2.imread(filename, cv2.IMREAD_UNCHANGED)
cv2.imwrite(filename.replace('.png', '.jpg'), img, [cv2.IMWRITE_JPEG_QUALITY, 100])
该代码会读取当前目录下的所有png文件,并将它们转成jpg文件并存储在同一目录下。需要注意的是,这个代码会将原本存在的png文件覆盖掉,所以在使用前需要做好备份工作。
另外,需要说明的是,将png图像转成jpg图像时,会产生一定的图像质量损失。因此,如果对图像质量要求高的话,建议直接使用保存png图像的方式。