问题:
我想从几个文件夹中导入所有“.pgm”文件并将它们存储为“.png”。
为此,我使用以下代码行:
from glob import glob
files=glob('yaleB*/*.pgm')
print 'number of files is',len(files)
count=0
for f in files:
new_f=f[:-3]+'png'
!convert $f $new_f
count += 1
if count % 100==0:
print count,f,new_f
不幸的是,我总是收到这个错误: "command not found: convert"
有一个简单的解决方法吗?
我的假设是,这是一个“旧”命令(我从中获取此代码的 Jupyter Notebook 来自 2014 年......)
感叹号 (
!
) 表示它是一个外部命令,convert
是 ImageMagick 包的一部分。所以你需要安装 ImageMagick 才能工作。请注意,如果您安装 v7 或更新版本,命令将变为:
但是,如果您想将当前目录中的所有 PGM 文件转换为 PNG 文件,您甚至不需要循环,您可以一次性完成:
还有更多警告......从 Python 的角度来看,没有真正需要将 PGM 文件转换为 PNG,因为 OpenCV、PIL/Pillow、wand 和 scikit-image 无论如何都可以读取 PGM 文件。 GIMP、feh、eog、Photoshop 也可以。