【HALCON】write_image 関数について - 画像保存と圧縮オプションの詳細

【HALCON】write_image 関数について - 画像保存と圧縮オプションの詳細

2024-08-22

2024-08-22

write_image 関数とは

HALCONのwrite_image関数は、処理結果として生成された画像をファイルに保存するために使用されます。この関数は、TIFF、JPEG、PNGなど様々な形式に対応しており、圧縮オプションやアルファチャンネルの設定、ドメイン外のピクセルの処理方法を柔軟にカスタマイズできます。

基本的な使用方法

write_image関数の基本的な構文は以下の通りです。

write_image(Image, Format, FillColor, FileName)
  • Image: 保存する画像オブジェクト
  • Format: 保存する形式(例: TIFF、JPEG、PNG)
  • FillColor: ドメイン外ピクセルの色(RGB画像なら16進数で指定可能)
  • FileName: 保存先のファイル名

使用例

TIFF形式での保存

TIFF形式で保存する場合、非圧縮や圧縮オプションを指定することができます。以下は、TIFF形式で最大圧縮率を使用して保存する例です。

write_image(Image, 'tiff deflate 9', 0, 'output_image.tif')

この例では、TIFF形式でDeflate圧縮を使用し、圧縮レベル9(最高圧縮)で画像を保存します。ドメイン外のピクセルは黒(0)に設定されています。

JPEG形式での保存

JPEG形式は不可逆圧縮のため、圧縮率が高くなると画像品質が低下します。品質パラメータを指定して、保存時の画像品質を調整できます。

write_image(Image, 'jpeg 80', 255, 'output_image.jpg')

この例では、JPEG形式で80%の品質で画像を保存し、ドメイン外のピクセルは白(255)で塗りつぶされます。

PNG形式での保存

PNG形式は可逆圧縮をサポートしており、透過情報を持たせることもできます。以下は、圧縮なしでPNG形式で画像を保存する例です。

write_image(Image, 'png none', 0x000000, 'output_image.png')

この例では、PNG形式で圧縮なし、ドメイン外のピクセルは黒(#000000)で塗りつぶして画像を保存します。

アルファチャンネルの使用

write_image関数では、ドメインをアルファチャンネルとして保存し、透過情報を持たせることができます。特に、TIFF形式でアルファチャンネルを有効にする際には次のように指定します。

write_image(Image, 'tiff lzw alpha', 0, 'alpha_image.tif')

この例では、LZW圧縮とアルファチャンネル付きでTIFF画像を保存します。

まとめ

write_image関数は、HALCONを用いた画像処理の最終段階で、結果を様々な形式で保存するための重要なツールです。保存形式や圧縮オプション、アルファチャンネルの使用により、用途に応じた柔軟な画像保存が可能です。正確な画像データを保ちつつ、最適な形式と圧縮設定を選択することで、効率的な画像管理を実現できます。

Recommend