You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

libtiff中TIFFGetField函数返回错误图像宽高问题求助

TIFFGetField读取1736x1160x48b TIFF宽高错误的解决求助

我有一个分辨率为1736×1160、48位色深的TIFF文件,使用libtiff 4.0动态链接库调用TIFFGetField函数时,读取到的图像宽高为156(宽)和104(高),与实际值相差极大。

相关代码如下:

TIFF* pTiff;
pTiff = dll.OpenTIFF(szFilePath, (char*)("r"));
if (pTiff == nullptr) {
  return LPROCESS_FAILED;
}
uint32_t uWidth = 0;
uint32_t uHeight = 0;
int ret = 0;
ret = dll.TIFFGetField(pTiff, TIFFTAG_IMAGEWIDTH, &uWidth);
ret = dll.TIFFGetField(pTiff, TIFFTAG_IMAGELENGTH, &uHeight );
// ret value is 1 on both lines

曾尝试将libtiff升级到最新4.5版本,但问题依旧。其他图片查看软件可正常解析该图像,推测可能是libtiff对该图像格式支持存在问题。以下是ExifTool获取的图像关键参数:

  • 图像宽度:1736
  • 图像高度:1160
  • 每样本位数:16 16 16
  • 样本格式:有符号整数
  • 光度解释:RGB
  • 压缩方式:无
  • 每行数:1160

特此求助如何解决该问题。

内容的提问来源于stack exchange,提问作者fidel espanto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 15:40:23