我有一个用程序制作的文件,即图像贴纸制造商。 我知道此程序会将其图像(可能是图像,背景和蒙版)保存到扩展名为“ .adf”的单个文件中。
我无法使用以下错误的图像魔术来转换输出文件:
convert: no decode delegate for this image format `output.adf' @ error/constitute.c/ReadImage/532.
我不知道此Image如何通过Image magick转换。 这是我的-list配置结果:
Path: [built-in]
Name Value
-------------------------------------------------------------------------------
NAME ImageMagick
Path: configure.xml
Name Value
-------------------------------------------------------------------------------
CC vs10
COPYRIGHT Copyright (C) 1999-2011 ImageMagick Studio LLC
DELEGATES bzlib freetype jpeg jp2 lcms png tiff x11 xml wmf zlib
FEATURES OpenMP
HOST Windows
LIB_VERSION 0x671
LIB_VERSION_NUMBER 6,7,1,0
NAME ImageMagick
RELEASE_DATE 2011-07-15
VERSION 6.7.1
WEBSITE http:// www.image magick.org
我附加了文件: src.adf
*编辑* 如果我在src.adf上运行文件命令,它会告诉您:
root@MexHex-PC:# file -vv src.adf
file-5.25
magic file from /etc/magic:/usr/share/misc/magic
错过了什么! 谢谢
答案 0 :(得分:3)
这个src.adf
看起来像是一个很小的平面数据文件。我对Dalahoo3D和/或ArcGis产品一无所知,但我们可以使用python快速提取嵌入式图像。
import struct
with open('src.adf', 'rb') as f:
# Calculate file size.
f.seek(0, 2)
total_bytes = f.tell()
# Rewind to beging.
f.seek(0)
file_cursor = f.tell()
image_cursor = 0
while file_cursor < total_bytes:
# Can for start of JPEG.
if f.read(1) == b"\xFF":
if f.read(3) == b"\xD8\xFF\xE0":
print("JPEG FOUND!")
# Backup and find the size of the image
f.seek(-8, 1)
payload_size = struct.unpack('<I', f.read(4))[0]
# Write image to disk
d_filename = 'image{0}.jpeg'.format(image_cursor)
with open(d_filename, 'wb') as d:
d.write(f.read(payload_size))
image_cursor += 1
else:
f.seek(-3, 1) # Back cursor up, and try again.
file_cursor = f.tell()
转储以下三个图像...
我确定此文件是使用Imagemagick制作的。我已经看到有人会将文件转换为tiff图像。他告诉我要用Imagemagick做到这一点,但没有解释该方法。
我猜这只是沟通不畅的问题。确实,ImageMagick通常处理JPEG / TIFF格式,但不处理地理信息系统和/或3D建模。通常由供应商(例如ArcGIS)进行扩展。我敢打赌,生成TIFF文件的工作流中存在ImageMagick,但是someone writes a delegate coder之前ImageMagick不会支持.ADF
。
更新
在this question中,您似乎需要扩展ImageMagick委托才能调用GDAL实用程序。您需要更新delegates.xml文件以调用correct utility。