我正在尝试批量转换一些.tif文件。我发现phatch可能是一个不错的选择,但我使用的是Ubuntu 11.04。看起来他们没有适用于我的版本的.deb文件。
有人有任何替代phatch的方法或者其他快速批量转换tif到jpeg文件的建议吗?
我正在寻找一个非Photoshop(比如Wine)的解决方案。
有人有任何替代phatch的方法或者其他快速批量转换tif到jpeg文件的建议吗?
我正在寻找一个非Photoshop(比如Wine)的解决方案。
sudo apt install imagemagick
convert File.tif File.jpg
它很聪明,会根据你的文件扩展名进行操作。
现在,为了进行批量转换,我们将使用一个循环。
cd
进入存放你的tif文件的目录。
然后:
for f in *.tif; do echo "Converting $f"; convert "$f" "$(basename "$f" .tif).jpg"; done
也可阅读为:
for f in *.tif
do
echo "Converting $f"
convert "$f" "$(basename "$f" .tif).jpg"
done
应该就这样了!
另外,一旦你转换所有文件并验证新的jpg文件的完整性,只需在该目录中运行rm *.tif
来删除所有旧的.tif文件。但要小心星号,不要在*
后面加上空格,否则将删除目录中的所有文件。
提示:如果你有一个包含这些图像的子文件夹的文件夹,你可以使用以下for循环来查找该文件夹中的所有.TIF文件:
for f in $(find -name *.tif); do ...; done
convert *.tiff -set filename: "%t" %[filename:].jpg
mkdir jpg
convert *.tiff -set filename: "%t" jpg/%[filename:].jpg
mogrify
。mogrify -format jpg *.tif
sudo apt-get install imagemagick
find . -iname *.tif | while read f; do echo "Converting ${f}"; convert "${f}" "${f%.*}.jpg"; done
Imagemagick 应该能够将它们转换。这是一个命令行程序包,如果你对此没有意见的话。
其中一部分是convert -
man convert:
convert - 在图像格式之间进行转换,以及调整图像大小、模糊、裁剪、去斑点、抖动、绘制、翻转、合并、重新采样等等。
批处理器输入对话框窗口
批处理器输出对话框窗口从DBP - David's Batch Processor官网下载当前插件文件到您的桌面上。对于运行Gimp 2.8的Ubuntu 18.04,适用于我的文件是dbpSrc-1-1-9.tgz。
获取一些GIMP开发文件:
sudo apt-get install libgimp2.0-dev gcc cpp g++
切换到系统源代码目录:
cd /usr/src/
将插件从桌面提取到自己的源代码目录中。用您当前的用户名替换[username]
,并使用在步骤1中下载的文件名:
sudo tar -xvzf /home/[username]/Desktop/dbpSrc-1-1-9.tgz
切换到插件的源代码目录:
cd dbp-1.1.9
编译插件:
make
安装插件:
sudo make install
启动GIMP,您将在菜单 > 滤镜 > 批处理下找到插件
*.tif
来选择tif文件,但是如果你的当前工作目录中有太多文件,这样做会返回一个错误。一个简单的解决办法是使用一个Python脚本来转换当前工作目录中的每个文件:import glob, os
for c, i in enumerate(glob.glob('ecco_images/*')):
print(' * converting', i)
os.system('convert ' + i + ' ' + i.replace('.TIF','.jpg'))
for f in *.tif
不会出错,但 convert *.tif
会出错。 - muru
Converting filename.tif
还是Converting filename
? - sodiumnitratebasename
命令需要2个参数,例如basename file.tif .tif
将返回“file”,去除了.tif扩展名。如果你愿意,你可以修改循环,用相同的basename命令来显示“将文件名.tif转换为文件名.jpg”。 - Mattfind
的第一个参数应该是路径,所以最后一行应该是for f in $(find . -name *.tif); do ...; done
(因为我们在之前使用了cd
进入目录)。我尝试编辑@Matt的回答,但由于某种原因,编辑必须至少有6个字符。 - mrtnmgs