批量处理tif图像?将.tif转换为.jpeg


41

我正在尝试大量转换少量.tif文件。我发现phatch看起来不错,但是我正在运行Ubuntu 11.04。看起来他们没有.deb我的版本。

任何人都可以使用phatch或其他任何建议来快速批量转换tifjpeg文件。

我正在寻找非Photoshop(ala Wine)解决方案。

Answers:


75

简单。安装imagemagick

sudo apt-get 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

那应该做!

同样,一旦转换了所有文件并验证了新jp​​g的完整性,只需rm *.tif在该目录中运行以删除所有旧的.tif文件即可。不过请注意星号,不要在后面添加空格*,否则您将删除目录中的所有文件。

提示:如果您有一个包含这些图像的子文件夹的文件夹。您可以使用此for循环在该文件夹中查找所有.TIF文件:

for f in $(find -name *.tif); do ...; done

难道这打印Converting filename.tifConverting filename
硝酸钠2014年

1
@sodiumnitrate将显示“ Converting filename.tif”。该basename命令带有2个参数,例如basename file.tif .tif将返回“文件”,将.tif扩展名删除。如果需要,可以使用相同的basename命令将循环修改为“将filename.tif转换为filename.jpg”。
马特

find的第一个arg应该是路径,因此最后一行应该是for f in $(find . -name *.tif); do ...; done(因为我们cd之前在目录中编辑过)。我尝试编辑@Matt的答案,但出于某些原因,编辑必须至少为6个字符。
mrtnmgs

谢谢............................工作
巴拉吉(Balaji)

22

我在尝试自己尝试时发现了这个问题,以供将来参考,您也可以像这样进行操作:

convert *.tiff -set filename: "%t" %[filename:].jpg

或将其放在子目录中

mkdir jpg
convert *.tiff -set filename: "%t" jpg/%[filename:].jpg

1
是的,用于内置文件名处理。
Beerbajay 2014年

这对png文件也很有效。pdf的行为不同。
wdkrnls

我希望看到它能正常工作,但是,这报告了Ubuntu 64上ImageMagick 6.6.9-7 2014-03-06 Q16(OpenMP)上的总线错误。可接受的答案很好用。
TFuto

警告:这对我来说冻结了整个系统(GNOME 3),我不得不硬关闭计算机
0__

2

Imagemagick应该能够转换它们。如果您可以的话,它是命令行程序包。

其中一部分是转换 -

男子转换:

转换-在图像格式之间转换以及调整图像大小,模糊,裁剪,去斑点,抖动,绘制,翻转,合并,重新采样等等。


1
马特的答案实际上更有用
Marto 2011年

1
对。你就在那里
chrisjlee 2011年

1

如果您喜欢GUI应用程序,则可以通过常规存储库安装Phatch。只需打开Ubuntu软件中心并进行搜索。我现在不在11.04上,但是那时我已经安装了它。


1

上面的答案*.tif用于tif选择,但是如果当前工作目录中的文件太多,这将返回错误。一个简单的解决方法是使用python脚本转换cwd中的每个文件:

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

啊,谢谢@muru!我以为*扩展在OS级别上是相同的,但很高兴得到纠正。
duhaime '17

0

我想添加到@Matt的答案中,如果您希望将文件保存在子文件夹中,则可以执行以下操作:

find -name *.tif | while read f; do echo "Converting $f"; convert "$f"  "${f%.*}".jpg; done

如果您的文件路径/名称中包含空格,这也可以解决该问题


0

使用批处理插件的GIMP GUI解决方案

使用GIMP 2.8在Ubuntu 18.04中工作


批处理器输入对话框窗口

批处理输入对话框窗口


批处理器输出对话框窗口

批处理器输出对话框窗口


安装说明

1-从DBP-David的Batch Processor主页下载当前插件文件到您的桌面。对于Ubuntu 18.04破坏Gimp 2.8,对我有用的文件是 dbpSrc-1-1-9.tgz

2-抓取一些GIMP开发文件:

sudo apt-get install libgimp2.0-dev gcc cpp g++

3-切换到系统源代码目录:

cd /usr/src/

4-将插件从桌面提取到其自己的源代码目录。用您当前的用户名替换[用户名],并使用您在上面的步骤1中下载的文件名:

sudo tar -xvzf /home/[username]/Desktop/dbpSrc-1-1-9.tgz

5-转到插件的源代码目录:

cd dbp-1.1.9

6-编译插件:

sudo make

7-安装插件:

sudo make install

8-启动GIMP,您将在Menu-> Filters-> Batch Process。下找到该插件。

GIMP批处理..菜单路径

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.