我正在尝试使用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格式,但是,当我运行代码时,图像没有变化。
答案 0 :(得分:0)
您几乎只需要对文件夹中的每个文件执行一个文件的操作即可。
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)
请注意,这会创建 new 图像文件,而使原始文件保持原样-换句话说,它不会重命名原始文件。如果要去除原稿,可以在循环中保存转换后的图像后,用os.remove()
删除它们。