有没有办法从 tiff 图像中识别和删除缩略图?
Is there a way to identify and remove thumbnail from tiff image?
我们有一个使用 Adobe Illustrator 裁剪 pdf 图像的过程。在此过程中,缩略图元数据被添加到图像中。稍后我们将图像转换为 eps。到那时图像看起来还不错。然后我们使用 ImageMagick 将图像转换为 tiff。在此阶段,缩略图会附加到原始图像的左上角。有没有办法删除这个缩略图?
有多种可能性,具体取决于实际发生的情况,如果不查看每个阶段的输入和输出文件以及您的实际处理,就很难判断。
有时缩略图是 TIFF 中的第一个条目,因此您可以选择仅从 TIFF 中的第二个条目(从零开始计数)开始加载:
magick input.tif[1--1] ...
如果您无法避免加载 first/last 条目,您可以加载所有内容,然后删除任何您不想要的内容。所以,如果我检查这样的图像,我会看到它有 6 个场景,即。 0 到 5:
magick identify image.tif
image.tif[0] TIFF 2448x3168 2448x3168+0+0 1-bit Bilevel Gray 283124B 0.000u 0:00.000
image.tif[1] TIFF 2448x3168 2448x3168+0+0 1-bit Bilevel Gray 0.010u 0:00.000
image.tif[2] TIFF 2448x3168 2448x3168+0+0 1-bit Bilevel Gray 0.010u 0:00.000
image.tif[3] TIFF 2448x3168 2448x3168+0+0 1-bit Bilevel Gray 0.010u 0:00.000
image.tif[4] TIFF 2448x3168 2448x3168+0+0 1-bit Bilevel Gray 0.010u 0:00.000
image.tif[5] TIFF 2448x3168 2448x3168+0+0 1-bit Bilevel Gray 0.010u 0:00.000
如果我想删除第一个和最后一个条目,在处理剩余条目之前,我可以这样做:
magick image.tif -delete 0,-1 -format "Processing scene: %s Resolution: %G\n" -write info: <FURTHER PROCESSING OF EACH PAGE> result-%d.png
示例输出
magick image.tif -delete 0,-1 -format "Processing scene: %s Resolution: %G\n" -write info: -crop 10x10+0+0 result-%d.png
Processing scene: 1 Resolution: 2448x3168
Processing scene: 2 Resolution: 2448x3168
Processing scene: 3 Resolution: 2448x3168
Processing scene: 4 Resolution: 2448x3168
如果是这种情况,您可以通过检查您的图像来确定:
exiftool YOURIMAGE
并寻找 "子文件类型:单页或多页图像"
tiffinfo YOURIMAGE
并查找条目数
magick identify YOUIRIMAGE
并寻找不止一行输出
有时缩略图在元数据中,因此您可以尝试使用以下方法之一删除它们:
magick INPUT.JPG -strip RESULT.JPG
jhead -dt YOURIMAGE
exiftool -thumbnailimage= YOURIMAGE
您还可以通过以下方式找到这些内容:
exiftool YOURIMAGE
并寻找嵌入的二进制数据
magick identify -verbose YOURIMAGE
jhead YOURIMAGE
您可以尝试以下解决方案:
exiftool -ifd1:all= -m Your_file_name
这才是真正帮助我们的。
我们有一个使用 Adobe Illustrator 裁剪 pdf 图像的过程。在此过程中,缩略图元数据被添加到图像中。稍后我们将图像转换为 eps。到那时图像看起来还不错。然后我们使用 ImageMagick 将图像转换为 tiff。在此阶段,缩略图会附加到原始图像的左上角。有没有办法删除这个缩略图?
有多种可能性,具体取决于实际发生的情况,如果不查看每个阶段的输入和输出文件以及您的实际处理,就很难判断。
有时缩略图是 TIFF 中的第一个条目,因此您可以选择仅从 TIFF 中的第二个条目(从零开始计数)开始加载:
magick input.tif[1--1] ...
如果您无法避免加载 first/last 条目,您可以加载所有内容,然后删除任何您不想要的内容。所以,如果我检查这样的图像,我会看到它有 6 个场景,即。 0 到 5:
magick identify image.tif
image.tif[0] TIFF 2448x3168 2448x3168+0+0 1-bit Bilevel Gray 283124B 0.000u 0:00.000
image.tif[1] TIFF 2448x3168 2448x3168+0+0 1-bit Bilevel Gray 0.010u 0:00.000
image.tif[2] TIFF 2448x3168 2448x3168+0+0 1-bit Bilevel Gray 0.010u 0:00.000
image.tif[3] TIFF 2448x3168 2448x3168+0+0 1-bit Bilevel Gray 0.010u 0:00.000
image.tif[4] TIFF 2448x3168 2448x3168+0+0 1-bit Bilevel Gray 0.010u 0:00.000
image.tif[5] TIFF 2448x3168 2448x3168+0+0 1-bit Bilevel Gray 0.010u 0:00.000
如果我想删除第一个和最后一个条目,在处理剩余条目之前,我可以这样做:
magick image.tif -delete 0,-1 -format "Processing scene: %s Resolution: %G\n" -write info: <FURTHER PROCESSING OF EACH PAGE> result-%d.png
示例输出
magick image.tif -delete 0,-1 -format "Processing scene: %s Resolution: %G\n" -write info: -crop 10x10+0+0 result-%d.png
Processing scene: 1 Resolution: 2448x3168
Processing scene: 2 Resolution: 2448x3168
Processing scene: 3 Resolution: 2448x3168
Processing scene: 4 Resolution: 2448x3168
如果是这种情况,您可以通过检查您的图像来确定:
exiftool YOURIMAGE
并寻找 "子文件类型:单页或多页图像"tiffinfo YOURIMAGE
并查找条目数magick identify YOUIRIMAGE
并寻找不止一行输出
有时缩略图在元数据中,因此您可以尝试使用以下方法之一删除它们:
magick INPUT.JPG -strip RESULT.JPG
jhead -dt YOURIMAGE
exiftool -thumbnailimage= YOURIMAGE
您还可以通过以下方式找到这些内容:
exiftool YOURIMAGE
并寻找嵌入的二进制数据magick identify -verbose YOURIMAGE
jhead YOURIMAGE
您可以尝试以下解决方案:
exiftool -ifd1:all= -m Your_file_name
这才是真正帮助我们的。