如何将多个图像TIFF文件批量转换为JPEG文件?
更新1:由Cellanie小姐和glallen建议convert
在Linux(ImageMagick的一部分)上工作。这很简单。我下载了Kubuntu 9.1上网本版本的ISO映像,将其刻录到DVD上,重新启动,启动了命令行窗口,将当前目录更改为inter2.tif所在的位置并键入:
convert -separate inter2.tif new_inter2.jpeg
这创建了3个预期的图像new_inter2-0.jpeg,new_inter2-1.jpeg和new_inter2-2.jpeg。显示了一些错误消息:
convert: incorrect count for field "DateTime" (21, expecting 20); tag trimmed. `inter2.tif' @ tiff.c/TIFFWarnings/526.
convert: inter2.tif: unknown field with tag 317 (0x13d) encountered. `TIFFReadDirectory' @ tiff.c/TIFFWarnings/526.
convert: inter2.tif: unknown field with tag 33628 (0x835c) encountered. `TIFFReadDirectory' @ tiff.c/TIFFWarnings/526.
我有许多细胞的显微图像。它们采用TIFF格式,每个样本/单元格图片一个TIFF文件,每个TIFF文件中的3个通道/图像(3个不同的光波长)。
TIFF文件需要以批量方式转换为JPEG文件(不需要用户干预),每个TIFF文件需要3个JPEG文件(对应于3个波长)。
我尝试使用LibTIFF随附的命令行工具tiffsplit进行第一步,将3张图像从原始TIFF提取到3个新TIFF文件。但是它与我拥有的TIFF文件一起崩溃(在Windows XP 64位上,启用DEP)。错误消息是:
Unhandled exception at 0x6fd853d1 in tiffsplit.exe: 0xC0000005: Access violation writing location 0x6fdc8ddb
您知道其他解决方案吗?在Windows或Linux上均可。
这是一个示例TIFF文件(3.8 MB)。合成图像(通过导入MS Paint并另存为JPEG制成的单个JPEG文件),可以给您留下深刻的印象:
可能有一种稍微更优雅的方法,但是应该为您做到这一点:
for FILE in $(ls *.tif); do \
for I in R G B; do \
convert -channel $I -separate -format jpg $FILE $FILE-$I.jpg ; \
done ; \
done ; \
rename s/\.tif\-/\-/ *.jpg
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句