1

tesseract が処理できる RMagick で TIFF 画像を書き込もうとしています。ピクセルあたりのビット数が > 32 の場合、またはピクセルあたりのサンプル数が 1、3、または 4 以外の場合は、Tesseract オブジェクト。

既定値では、Image.write1 サンプルあたり 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
4

0 に答える 0