7

我正在使用openslide-python打开svs图像,我遇到了以下问题:

>> import openslide as osi
>> a = osi.OpenSlide('image.svs')

产生错误

TIFFReadDirectory: Warning, Unknown field with tag 347 (0x15b) encountered.
image.svs: JPEG compression support is not configured.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/manan/anaconda/lib/python2.7/site-packages/openslide/__init__.py", line 154, in __init__
    self._osr = lowlevel.open(filename)
  File "/home/manan/anaconda/lib/python2.7/site-packages/openslide/lowlevel.py", line 178, in _check_open
    raise OpenSlideError(err)
openslide.lowlevel.OpenSlideError: Unsupported TIFF compression: 7

我无法在网上找到任何解决此问题的方法;我已经检查了libopenjpeg任何其他相关库,以确保它们处于各自的最新版本。

4

1 回答 1

7

如果您查看代码: https ://github.com/openslide/openslide/blob/7b99a8604f38280d14a34db6bda7a916563f96e1/src/openslide-vendor-generic-tiff.c#L222-L226

if (!TIFFIsCODECConfigured(compression)) {
  g_set_error(err, OPENSLIDE_ERROR, OPENSLIDE_ERROR_FAILED,
              "Unsupported TIFF compression: %u", compression);
  goto FAIL;
}

您将看到它使用libtiff:该函数TIFFIsCODECConfigured由底层libtiff库提供(参见手册页)。

压缩标签设置为7; 这是不常见的支持JPEG ('new-style' JPEG)压缩方案 - 有时也称为JPEG-in-TIFF; 您需要为其安装编解码器。

如果您仍然有幻灯片并使用过 Kodak Imaging,那么您可以使用不同的压缩方式再次扫描它们;但这将是一种前后左右的方式。尝试添加编解码器并在libtiff.

libtiff文档

对 JPEG 压缩的支持由 JPEG_SUPPORT 控制。libtiff 附带的 JPEG 编解码器设计用于 Independent JPEG Group 的免费提供的软件分发的第 5 版或更高版本。该软件可以从目录 ftp.uu.net:/graphics/jpeg/ 中检索。

因此支持是可选的,您可能需要重新构建libtiff(请参阅说明)。

默认情况下,未配置 JPEG 支持。

参考:

于 2016-12-02T15:53:43.050 回答