如何将多个 .img 图像转换为 .bmp 格式?
Posted
技术标签:
【中文标题】如何将多个 .img 图像转换为 .bmp 格式?【英文标题】:How to convert multiple .img images to .bmp format? 【发布时间】:2019-06-01 18:37:20 【问题描述】:我正在尝试使用 Python 从当前为 .img 格式的文件夹中读取多个图像,并将它们全部转换为 .bmp 格式。
我只用一张图片就成功完成了,但是我对 Python 很陌生,在读取多张图片和转换它们时遇到了麻烦。
这是我对 1 张图片的尝试:
from PIL import Image, ImageFilter
import sys
img = "hand1.img"
imgOut = "hand2bmp.bmp"
image = Image.open(img).convert('RGB').convert('L').save(imgOut)
这是我对多张图片的尝试:
from PIL import Image, ImageFilter
import sys, glob, os
folder = 'C:/Users/Josep/Documents/code/test_file/BMLs/BMLs_Original'
for filename in glob.iglob(os.path.join(folder,'*.bmp')):
Image.open(filename).convert('RGB').convert('L').save(filename)
os.rename(filename, filename[:-4] + '.bmp').save(filename)
我希望将文件转换为 .bmp 格式,但是,当我运行代码时,我发现图像没有任何变化。
【问题讨论】:
为什么需要古老的老式 Microsoft BMP 格式的文件? PNG肯定更可取吗? 我志愿服务的人要求提供 BMP 格式的图像。如果由我决定,我会同意你的看法。 @ArtificialIntelligenceDev 您不应在问题标题中添加 [SOLVED],因此您只需将其中一个答案标记为正确 我很抱歉。我两者都做了,认为在浏览问题的潜在解决方案时可以节省人们的时间。我会确保我以后不会这样做。 【参考方案1】:您或多或少只需要对文件夹中的每个文件执行您对一个文件所做的操作。
import glob, os, sys
from PIL import Image
folder = 'C:/Users/Josep/Documents/code/test_file/BMLs/BMLs_Original'
for filepath in glob.iglob(os.path.join(folder, '*.img')):
image = Image.open(filepath).convert('RGB').convert('L')
new_filepath = os.path.splitext(filepath)[0] + '.bmp'
image.save(new_filepath)
请注意,这会创建新 图像文件,而原件保持不变——换句话说,它不会重命名原件。如果你想去掉原图,可以在循环保存转换后的图片后用os.remove()
删除它们。
【讨论】:
非常感谢。我很感激并且可以确认,这正是我想要做的。 人工智能开发:谢谢。我注意到我在最后一行使用了错误的变量并修正了我的答案——但听起来你已经明白了…… 正确。再次感谢您。以上是关于如何将多个 .img 图像转换为 .bmp 格式?的主要内容,如果未能解决你的问题,请参考以下文章