tesseract が処理できる RMagick で TIFF 画像を書き込もうとしています。ピクセルあたりのビット数が > 32 の場合、またはピクセルあたりのサンプル数が 1、3、または 4 以外の場合は、Tesseract オブジェクト。
既定値では、Image.write
1 サンプルあたり 16 ビットで 3 (RGB) サンプルと 1 つのアルファ チャネルが生成され、ピクセルあたり合計 64 ビットになり、最初の制約に違反します。
色空間を次のように設定するとGRAYColorspace
、依然としてアルファ チャネルが出力され、ピクセルごとに 2 つのサンプルが与えられ、2 番目の制約に違反します。
Image.write('image.tif) {self.colorspace = GRAYColorspace}
RMagick のドキュメントによると、指定されていない限りメソッド操作でアルファ チャネルは無視されますが、指定したとしてもself.channel(GREYChannel)
、アルファ チャネルは引き続き出力されます。
後でファイルを実行できることはわかって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