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
相关产品推荐
相关产品推荐

