PNG 和 JPG 格式用于图像插图。这两种格式都用于为某些类型的图像提供良好的兼容性,例如 PNG 更适用于线条图和图标图形,而 JPG 则适用于照片。但是,对于媒体和图片的使用和存储,两者都可以相互转换。 Python 提供了各种选项来执行图像转换。
方法一:Python 图像库(PIL)
Python 使用 PIL 包(Python Imaging Library)提供对图像处理的支持。该库提供了广泛的文件格式支持,也就是说,它可用于将图像从一种格式转换为另一种格式。可以使用以下命令将此包安装到环境中:
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')
输出:
以下是 C 中的原始文件:
以下是程序执行后同一文件夹的内容:
方法二:使用 OpenCV
OpenCV(开源计算机视觉)库是一个 image-processing 库,它使用 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.
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])
输出:
以下目录存储名为 “img.png” 的图像:
程序执行后得到如下输出:
相关用法
- Node.js JPG转PNG用法及代码示例
- Node.js PNG转JPG用法及代码示例
- Python Excel转PDF用法及代码示例
- Python binary转string用法及代码示例
- Python CSV转JSON用法及代码示例
注:本文由纯净天空筛选整理自yippeee25大神的英文原创作品 Convert PNG to JPG using Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。