在python中将PNG转换为JPG

E K*_*E K 4 python opencv image image-processing scikit-image

我正在尝试比较两个图像,一个 a.png和另一个 a .jpg。所以我需要将.png文件转换为 a.jpg以获得更接近 SSIM 的值。以下是我尝试过的代码,但出现此错误:

AttributeError: 'tuple' 对象没有属性 'dtype'

image2 = imread(thisPath + caption)
image2 = io.imsave("jpgtest.jpg", (76, 59))
image2 = cv2.cvtColor(image2, cv2.COLOR_BGR2GRAY)
image2 = resize(image2, (76, 59))
imshow("is it a jpg", image2)
cv2.waitKey()
Run Code Online (Sandbox Code Playgroud)

nat*_*ncy 11

在演示如何将图像转换.png.jpg格式之前,我想指出您应该在使用的库上保持一致。目前,您正在将 scikit-image 与 opencv 混合使用。最好选择一个库并坚持使用它,而不是使用 scikit 读取图像,然后使用 opencv 转换为灰度。

要使用 OpenCV将 a 转换.png.jpg图像,您可以使用cv2.imwrite. 注意使用.jpg.jpeg格式,要保持最高质量,必须指定质量值 from [0..100](默认值为 95)。只需这样做:

import cv2

# Load .png image
image = cv2.imread('image.png')

# Save .jpg image
cv2.imwrite('image.jpg', image, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
Run Code Online (Sandbox Code Playgroud)