无法打开以这种方式压缩的tiff文件(2) - imageJ / FIJI

时间:2013-04-12 18:24:44

标签: matlab matlab-figure imagej

我有两套从MATLAB生成的图像 - 一组是我从图形窗口手动保存到tif文件中,另一组是用MATLAB中的imwrite函数以tif格式保存的图像。

当我尝试使用第一组图像在斐济(图像J)执行某些操作时,它可以工作,但是当我尝试在第二组上执行相同操作时,我收到一条错误,说“无法打开在此压缩的tiff文件”时尚(2)'。我需要安装一个插件吗?

imfinfo for first set - 由图窗口的saveas tif创建:

Filename: [1x68 char]
              FileModDate: [1x20 char]
                 FileSize: 51376
                   Format: 'tif'
            FormatVersion: []
                    Width: 719
                   Height: 477
                 BitDepth: 24
                ColorType: 'truecolor'
          FormatSignature: [1x4 double]
                ByteOrder: [1x13 char]
           NewSubFileType: 0
            BitsPerSample: [8 8 8]
              Compression: 'PackBits'
PhotometricInterpretation: 'RGB'
             StripOffsets: [69x1 double]
          SamplesPerPixel: 3
             RowsPerStrip: 7
          StripByteCounts: [69x1 double]
              XResolution: 96
              YResolution: 96
           ResolutionUnit: 'Inch'
                 Colormap: []
      PlanarConfiguration: 'Chunky'
                TileWidth: []
               TileLength: []
              TileOffsets: []
           TileByteCounts: []
              Orientation: 1
                FillOrder: 1
         GrayResponseUnit: 0.0100
           MaxSampleValue: [1x3 double]
           MinSampleValue: [0 0 0]
             Thresholding: 1
                   Offset: 50592
         ImageDescription: [1x22 char]

imfinfo for second set - 由imwrite创建。 imwrite(BW,完整文件(文件名), 'TIFF');

 Filename: [1x75 char]
              FileModDate: [1x20 char]
                 FileSize: 25586
                   Format: 'tif'
            FormatVersion: []
                    Width: 832
                   Height: 587
                 BitDepth: 1
                ColorType: [1x9 char]
          FormatSignature: [1x4 double]
                ByteOrder: [1x13 char]
           NewSubFileType: 0
            BitsPerSample: 1
              Compression: [1x8 char]
PhotometricInterpretation: [1x11 char]
             StripOffsets: [66x1 double]
          SamplesPerPixel: 1
             RowsPerStrip: 9
          StripByteCounts: [66x1 double]
              XResolution: 72
              YResolution: 72
           ResolutionUnit: 'Inch'
                 Colormap: []
      PlanarConfiguration: 'Chunky'
                TileWidth: []
               TileLength: []
              TileOffsets: []
           TileByteCounts: []
              Orientation: 1
                FillOrder: 1
         GrayResponseUnit: 0.0100
           MaxSampleValue: 1
           MinSampleValue: 0
             Thresholding: 1
                   Offset: 24868

2 个答案:

答案 0 :(得分:1)

我不确定,如果你得到答案的话。我遇到了类似的问题。尝试通过以下方式保存文件:

imwrite(bw,fullfile(filename),'tiff', 'Compression','none');

或尝试使用' packbits'

进行压缩
imwrite(bw,fullfile(filename),'tiff', 'Compression','packbits');

答案 1 :(得分:0)

尝试使用ImageJ的这个插件 - IJ Plugins: Image I/O


修改

看起来你的图像是二进制的(BitDepth = 1)。默认情况下,IMWRITE以ccitt压缩格式保存TIFF格式的二进制图像。 IMageJ不支持此类图像。 (例如,参见thread可能的原因)。

如果您需要使用imwrite保存图片,请尝试将BitDepth设置为24,将Compression设置为packbits。比较imfinfo输出中的其他字段,并在必要时使用imwrite中的不同字段。