python-3.x - 遍历文件夹并将 png 转换为 jpg

标签 python-3.x png python-imaging-library jpeg

我有一个大文件夹,其中包含不同文件类型的图像(jpg + png)。我想遍历该文件夹并将所有 png 转换为 jpeg。例如 image323.png 将转换为 image323.jpg。

我还希望调整它们的大小,以便它们的大小相同,而不会丢失其比例/比例。

我知道我需要循环遍历它们,并且可能使用条件(如果文件以 png 结尾,则更改为 jpg),这将涉及使用 PIl,但不确定如何将它们放在一起。

最佳答案

最简单的方法是使用 ImageMagick,您可以使用 homebrew 将其安装在 macOS 上:

brew install imagemagick

先制作备份副本,然后只需进入图像所在目录并运行:

magick mogrify -format jpg *.png

如果您希望调整它们的大小,使它们最终都是 600 像素宽:

magick mogrify -format jpg -resize 600x *.png

如果您希望调整它们的大小,使它们最终都达到 300 像素高:

magick mogrify -format jpg -resize x300 *.png

如果您希望调整它们的大小,使它们最终的宽度不超过 600 像素,高度不超过 300 像素:

magick mogrify -format jpg -resize 600x300 *.png

如果您希望调整它们的大小,使它们最终都达到 600 像素宽和 300 像素高,即使这意味着扭曲原始宽高比:

magick mogrify -format jpg -resize 600x300\! *.png

根据您拥有的镜像数量、镜像大小以及 CPU 和磁盘子系统的速度,您可能会更好地使用 GNU Parallel,您可以按照相同的方式安装它:

brew install parallel

将所有 PNG 文件并行转换为 JPEG 的命令变为:

parallel --dry-run convert {} -resize 600x {.}.jpg ::: *png

关于python-3.x - 遍历文件夹并将 png 转换为 jpg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56564577/

相关文章:

python - PIL 图像到数组(numpy 数组到数组) - Python

python - 获取按列年份分组的索引值集

python - tensorflow 语音_命令错误: Unsuccessful TensorSliceReader constructor

python - 刮削表格底行

python - 如何在数组中找到两个相似数字的索引?

Java 图像 IO : Can I convert a PNG-24 file to PNG-8?

c# - 如何在 EmguCV 中保存具有透明背景的图像

opengl - 加载到纹理上时 png 图像模糊

python - AWS Elastic Beanstalk Django - 部署到 EB 时首先发生什么,pip install -r requirements.txt 或配置文件中的命令

numpy - 将图像从 RGB 转换为 HSV 颜色空间