1

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

当我尝试使用第一组图像在斐济(图像 J)中执行某些操作时,它可以工作,但是当我尝试在第二组中执行相同操作时,我收到一条错误消息,提示“无法打开以这种方式压缩的 tiff 文件(2 )'。有我需要安装的插件吗?

第一组的 imfinfo - 由图形窗口中的 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 - 由 imwrite 创建。imwrite(bw,fullfile(文件名),'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
4

2 回答 2

1

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

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

或尝试使用“packbits”进行压缩

imwrite(bw,fullfile(filename),'tiff', 'Compression','packbits');
于 2013-05-02T16:01:14.090 回答
0

试试这个 ImageJ 插件 - IJ 插件:Image I/O


编辑

看起来您的图像是二进制的(BitDepth=1)。默认情况下,IMWRITE 将二进制图像保存为 TIFF 格式并进行ccitt压缩。IMageJ 不支持此类图像。(例如,出于可能的原因,请参阅此线程)。

如果您需要保存图像,请imwrite尝试设置为BitDepth24 和. 比较输出中的其他字段,并在必要时使用不同的字段。Compressionpackbitsimfinfoimwrite

于 2013-04-12T18:35:15.187 回答