如何使用RMagick在没有alpha通道的情况下编写tiff图像

时间:2013-11-19 00:13:54

标签: tesseract rmagick libtiff

我正在尝试使用RMagick写一个TIFF图像,tesseract可以处理。如果每像素位数> 1,则测量对象。 32或每像素的样本不是1,3或4。

使用默认值,Image.write生成3个(RGB)样本加上每个样本16位的1个alpha通道,每个像素总共64位,违反了第一个约束。

如果我将色彩空间设置为GRAYColorspace,如下所示,它仍然输出alpha通道,每个像素提供两个样本,违反第二个约束。

Image.write('image.tif) {self.colorspace = GRAYColorspace}

根据RMagick documentation,除非指定,否则在方法操作上将忽略Alpha通道,但即使我执行self.channel(GREYChannel),仍会输出Alpha通道。

我知道我之后可以在文件上运行convert,但我想找到一个避免这种情况的解决方案。

以下是当前生成的文件的tiffinfo输出:

偏移量为0x9c48(40008)的TIFF目录

  Image Width: 100 Image Length: 100
  Bits/Sample: 16
  Compression Scheme: None
  Photometric Interpretation: min-is-black
  Extra Samples: 1<unassoc-alpha>
  FillOrder: msb-to-lsb
  Orientation: row 0 top, col 0 lhs
  Samples/Pixel: 2
  Rows/Strip: 20
  Planar Configuration: single image plane
  Page Number: 0-1
  DocumentName: image-gray-colorspace.tif
  White Point: 0.3127-0.329
  PrimaryChromaticities: 0.640000,0.330000,0.300000,0.600000,0.150000,0.060000

0 个答案:

没有答案