我正在尝试使用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