使用命令行ImageMagick获取多tiff中的tiff数量?


4

有没有办法在ImageMagick中使用命令行实用程序获取多tiff中的tiff数?

我想要的是将multi-tiff提取(拆分)为单个文件。但是如果tiff只包含一个tiff(不是多tiff),我想什么都不做......另外如果我使用“%d”-option来命名输出文件,我会得到“%d “如果文件名只有一个,请在文件名中。

...还是有另一种方法可以在转换时使用ImageMagick来避免奇怪的文件名?

Answers:


3

您可以使用tiff返回页数identify -format "%p" multipage.tif


1
有趣!尝试并回来了:12345678910111213141516171819202122如果我的tiff拥有22张图片。不完全符合我的预期但会调查更多......
安德斯2010年

嗯.....我没有多重tiff试试。您使用的是什么版本的即时消息?什么操作系统?
DaveParillo 2010年

我在Windows XP 32位和Windows 7 64位上尝试过32位IM版本6.6.1-2 Q8和Q16。我还在Windows 7 64位上尝试过64位IM 6.6.1-2。所有都使用您建议的命令生成相同的输出。
安德斯2010年

3
我在format选项中找到了字符串的文档(可从imagemagick.org获得)。%p显示页面,%n显示场景数量,这正是我要寻找的。我将使用的命令是:identify -format“%n”multipage.tif。
安德斯2010年

6

比所有其他人短:

identify multipage.tif | wc -l

适合我...即使没有-format任何选项产生任何输出。应该注意的是,即使在identify发出大量错误消息(没有 |wc -l)的情况下,这也是有效的原因,因为错误被写入stderr,并且wc只读stdout
Lambart

@Lambart:wcstdin,不是stdout。它是stdout从前者到stdin后者的管道。还有其他管道可用。
Robert Siemer

@RobertSiemer很清楚,谢谢
兰巴特

1

您可以使用以下内容来计算TIFF文件中的页数:

tiffinfo output_file_name.tif | grep "Page Number" | grep -c "P"

tiffinfo对我来说是一个新的。有趣的实用程序,但它无法检测到我正在使用的tiff中的任何第二个图像...而且,对于80MB TIFF,它产生345MB的输出。
Lambart

0

identify multipage.tif | wc -l

(-format“%p”或%n为我造成了伪造的结果)


0

结合提供的答案(使用-format和wc计数):

identify -format "%p " multipage.tif | wc -w

而且只是提到......它是我们得到的页码(1页1页,1 2页2页,1 2 3页3页和1 2 3 ... 19 20 21 22页22页)

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.