使用Python将 PNG 转换为 JPG
PNG 和 JPG 格式用于图像插图。这两种格式都用于为某些类型的图像提供良好的兼容性,例如 PNG 对线条图和图标图形效果更好,而 JPG 对照片效果很好。然而,对于媒体和图片的使用和存储,两者相对于彼此是可相互转换的。 Python提供了各种选项来执行图像转换。
方法 1: Python成像库 (PIL)
Python使用 PIL 包(Python成像库)提供对图像处理的支持。该库提供了广泛的文件格式支持,也就是说,它可用于将图像从一种格式转换为另一种格式。可以使用以下命令将此包安装到环境中:
pip install Pillow
这个包提供了一个名为 Image 的模块,用于创建新图像并将其加载到环境中。它还允许使用图像格式及其相关方向。它用于表示 PIL 图像。相关的语法是:
from PIL import Image
Image 模块的以下功能用于将图像从 PNG 转换为 JPG。
Image.open():打开并识别一个图像文件。它不会加载文件,除非明确执行 load() 操作。它只是打开图像而不实际分析图像内容。
PIL.Image.open(fp, mode='r', formats=None)
Arguments :
fp — Filename, pathlib.Path object or a file object.
mode — Always opened in reading mode.
formats — A list of formats to perform the opening operation of a file.
Return type :
An image object.
Image.save():以指定的文件名保存图像。如果未指定扩展名,则从指定的文件名分析扩展名。
Image.save(fp, format=None, **params)
Arguments :
fp — Filename, pathlib.Path object or a file object.
format — Optional format.
params — Extra parameters to the image writer.
Return type :
Doesn’t return anything.
以下示例Python代码用于将图像从 PNG 转换为 JPG:
Python3
#importing the required package
from PIL import Image
#open image in png format
img_png = Image.open('C:\gfg\img.png')
#The image object is used to save the image in jpg format
img_png.save('C:\gfg\modified_img.jpg')
Python3
#importing required packages and library
import cv2
# Loading .png image
png_img = cv2.imread('img.png')
# converting to jpg file
#saving the jpg file
cv2.imwrite('modified_img.jpg', png_img, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
输出:
以下是C中的原始文件:
以下是程序执行后同一文件夹的内容:
方法二:使用OpenCV
OpenCV(开源计算机视觉)库是一个图像处理库,它使用 MATLAB 语法执行数值运算。可以使用以下命令将其合并到我们的环境中:
pip install opencv-python
下载后,可以使用命令将库导入Python程序
import cv2
它为我们提供了各种操作图像的函数,例如, imread()函数将来自本地机器的图像名称作为参数 imwrite()函数用于执行图像的操作和修改。该方法具有以下签名:
imwrite ( path, image)
Arguments :
path — A string representing the file name which must include the extension image format like .jpg, .png, etc.
image — The image that is to be saved.
Return type :
It returns true if the image is saved successfully.
蟒蛇3
#importing required packages and library
import cv2
# Loading .png image
png_img = cv2.imread('img.png')
# converting to jpg file
#saving the jpg file
cv2.imwrite('modified_img.jpg', png_img, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
输出:
以下目录存储名为“img.png”的图像:
程序执行后得到如下输出: