我在imread
或cvLoadImage
上打开的tif图片很少在窗口中显示null
data
,而在ubuntu安装时可以方便地处理同一文件。
运行imagemagik identify
返回
$identify 60018969.tif
60018969.tif[0] TIFF 1696x2192 1696x2192+0+0 8-bit Grayscale DirectClass 516KB 0.000u 0:00.040
60018969.tif[1] TIFF 1696x2192 1696x2192+0+0 8-bit Grayscale DirectClass 516KB 0.000u 0:00.030
60018969.tif[2] TIFF 1696x2376 1696x2376+0+0 8-bit Grayscale DirectClass 516KB 0.000u 0:00.019
60018969.tif[3] TIFF 1696x2376 1696x2376+0+0 8-bit Grayscale DirectClass 516KB 0.000u 0:00.019
identify: 60018969.tif: wrong data type 4 for "JpegProc"; tag ignored. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/706.
经过大量的谷歌搜索,opencv可以读取未压缩的tiff图像,但对于压缩类型,需要tiff libtiff。我尝试多次重新安装/重新配置opencv,但找不到加载压缩tiff图像的方法。
在OpenCV 2.4.9的ubuntu安装中处理相同的图像。我需要在windows中为opencv libtiff构建哪种编解码器?如何?
请帮助。
编辑:随着时间的推移。我尝试使用libtiff
库读取文件,但无法读取错误"deprecated and troublesome old-style jpeg compression mode please convert to new-style jpeg compression"
的文件。我确保libtiff安装了以下编解码器
Support for external codecs:
ZLIB support: yes
Pixar log-format algorithm: yes
JPEG support: yes
Old JPEG support: yes
JPEG 8/12 bit dual mode: no
ISO JBIG support: yes
LZMA2 support: no
C++ support: yes
OpenGL support: no
询问
的示例文件答案 0 :(得分:1)
你应该知道“旧式JPEG”TIFF是微软(IIRC)在没有咨询任何人的情况下被TIFF加入TIFF的扩展,他们的表现相当糟糕。在所有TIFF压缩方案中,存在“有趣”的情况,这些情况不符合规范,并且或多或少被黑客入侵各种编解码器以实现兼容性,但旧式JPEG在这方面是所有国王的王者,而且我是垃圾看到(我为一家制作TIFF编解码器的公司工作)会让你的头发变白。我知道有一个事实,我们至少有六类旧式JPEG TIFF,我们可以读到libtiff不能。