无法使用 Magick++ API 读取 GeoTIFF 文件

问题描述

将 Magick++ C++ API 用于 ImageMagick 库,我正在尝试将 GeoTIFF 文件转换为 JPG 文件,如下所示:

Magick::Image input;
try {
   input.read("inputfile.tif");
   input.write("outputfile.jpg");
} 
catch (Exception &error) {
   cout << error.what() << '\n';
}

程序打印此消息并且无法创建 outputfile.jpg:

Magick: UnkNown field with tag 33550 (0x830e) encountered. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/960

其他转换(.jpg 到普通 .tiff,.jpg 到 .pdf,普通 .tiff 到 .jpg,...)工作正常

有趣的是,绕过 API 并直接调用 ImageMagick convert 命令(尽管仍然给我上述警告):

system("convert inputfile.tif outputfile.jpg");

但是我不希望在执行程序时需要安装的库。有一个更好的方法吗? GeoTIFF 格式中的不同标题可能是问题所在吗?不是任何可以读取 TIFF 文件的程序也可以读取 GeoTIFF 文件吗?

我应该忘记 ImageMagick 库并使用 GDAL 之类的东西吗?

问候,

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)