python-3.x - tifffile 无法解压缩 JPEG,因为 JPEG 不在 TIFF.DECOMPRESSORS 中

标签 python-3.x image jpeg tiff compression

import tifffile
f = 'some.tif'
img = tifffile.imread(f)

给出错误:

~/.conda/envs/cmap_py3/lib/python3.6/site-packages/tifffile/tifffile.py in imread(files, **kwargs)
    443     if isinstance(files, basestring) or hasattr(files, 'seek'):
    444         with TiffFile(files, **kwargs_file) as tif:
--> 445             return tif.asarray(**kwargs)
    446     else:
    447         with TiffSequence(files, **kwargs_seq) as imseq:

~/.conda/envs/cmap_py3/lib/python3.6/site-packages/tifffile/tifffile.py in asarray(self, key, series, out, validate, maxworkers)
   1900                     typecode, product(series.shape), out=out, native=True)
   1901         elif len(pages) == 1:
-> 1902             result = pages[0].asarray(out=out, validate=validate)
   1903         else:
   1904             result = stack_pages(pages, out=out, maxworkers=maxworkers)

~/.conda/envs/cmap_py3/lib/python3.6/site-packages/tifffile/tifffile.py in asarray(self, out, squeeze, lock, reopen, maxsize, validate)
   3376             if self.compression not in TIFF.DECOMPESSORS:
   3377                 raise ValueError(
-> 3378                     'cannot decompress %s' % self.compression.name)
   3379             if 'SampleFormat' in tags:
   3380                 tag = tags['SampleFormat']

ValueError: cannot decompress JPEG

注意:似乎我只收到较大的 tif 图像的错误。此外,tifffile 版本为 0.15.1。

更新- 使用 pip 安装 imagecodes>=2018.10.22 后,出现以下错误:

img=tifffile.imread(f)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/somename/.conda/envs/cmap_py3/lib/python3.6/site-packages/tifffile/tifffile.py", line 581, in imread
return tif.asarray(**kwargs)
  File "/home/somename/.conda/envs/cmap_py3/lib/python3.6/site-packages/tifffile/tifffile.py", line 2042, in asarray
maxworkers=maxworkers)
  File "/home/somename/.conda/envs/cmap_py3/lib/python3.6/site-packages/tifffile/tifffile.py", line 3813, in asarray
strip = decompress(strip)
  File "/home/somename/.conda/envs/cmap_py3/lib/python3.6/site-packages/tifffile/tifffile.py", line 3700, in decompress
out)
  File "/home/somename/.conda/envs/cmap_py3/lib/python3.6/site-packages/imagecodecs/imagecodecs.py", line 678, in jpeg_decode
'JPEG tables, colorspace, and outcolorspace otions not supported')
NotImplementedError: JPEG tables, colorspace, and outcolorspace otions not supported

在tifffile无法打开大tif的linux机器上~/.conda/envs/cmap_py3/lib/python3.6/site-packages/imagecodecs我明白了

__init__.py
licencses
__pycache__
imagecodecs.py

在 tifffile 可以在 ls C:\\Anaconda2\\envs\\tensorflow35\\lib\\site-packages\\imagecodecs\\ 中打开大 tif 的 windows 机器上我明白了

__init__.py
licenses
__pycache__
imagecodecs.py
_imagecodecs.cp35-win_amd64.pyd
_jpeg12.cp35-win_amd64.pyd

最佳答案

我想我和你有过同样的挣扎,@user3731622

按照@cgohlke 的建议尝试这段代码:

!pip install tifffile 
!pip install imagecodecs 
import numpy 
import tifffile as tiff 
img = tiff.imread('/content/gdrive/My Drive/My Driver/imageToDriveExample.tif') 
matrix = img[:,:,:] 
print(matrix)

关于python-3.x - tifffile 无法解压缩 JPEG,因为 JPEG 不在 TIFF.DECOMPRESSORS 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52998072/

相关文章:

iphone - iPhone 上更快、更高效的 JPEG 转换和压缩

java - 从 Gallery 获取并上传时,ImageView 上的图像方向发生了变化

wpf 图片资源和visual studio 2010 资源编辑器

Perl:将 MP3 ID3-Tags 的封面保存到外部 JPG 文件中

python - 导入错误: cannot import name between two files importing the same

ruby-on-rails - 用 Ruby 生成迷宫

c# - C# 中无损图像压缩的最佳格式

c++ - 为什么 PyObject_Print 崩溃?

python csv阅读器忽略空白行

Python函数读取长度不起作用