【HALCON】query_line_width 関数について - 使用可能なライン幅のクエリ
2024-09-12
2024-09-12
HALCON
のquery_line_width
関数は、システムで使用可能な描画ライン幅を取得するためのツールです。描画ラインの太さを調整することは、画像処理結果の視覚化において重要な要素です。この関数を使用することで、システムがサポートしているライン幅のリストを取得し、描画に最適なライン幅を選択することができます。
query_line_width 関数の概要
query_line_width
は、システム内でサポートされている描画ライン幅をクエリする関数です。描画のライン幅は、線や輪郭を強調表示したり、結果を視覚的に見やすくするために調整されることがよくあります。この関数を使用すると、システムで使用可能なライン幅のリストを取得でき、最適な設定を行うことができます。
関数の基本構文
query_line_width(WindowHandle, AvailableWidths)
WindowHandle
ライン幅を設定するウィンドウのハンドル。AvailableWidths
使用可能なライン幅のリスト(出力)。
この関数は、指定されたウィンドウで利用可能な描画ライン幅をAvailableWidths
に出力し、設定可能なライン幅を確認します。
使用方法
以下は、query_line_width
を使用してシステム内で使用可能なライン幅のリストを取得する基本的な例です。
* 使用可能なライン幅のクエリを実行
query_line_width(WindowHandle, AvailableWidths)
* ライン幅のリストを表示
for i := 0 to |AvailableWidths| - 1 by 1
disp_message(WindowHandle, 'Available Line Width: ' + AvailableWidths[i], 'window', 12, 12 + i * 20, 'black', 'true')
endfor
この例では、query_line_width
関数を使用して利用可能なライン幅のリストを取得し、それぞれのライン幅を表示しています。これにより、描画に使用できるライン幅を確認することができます。
応用例
query_line_width
は、次のようなシナリオで使用されます。
-
ライン描画のカスタマイズ
輪郭やエッジの描画において、使用可能なライン幅の中から最適なものを選択し、視覚的にわかりやすい結果を表示します。 -
結果の強調表示
特定の画像処理結果を強調するために、太いライン幅を設定し、重要な部分を視覚的に目立たせることができます。 -
GUIやインターフェースのデザイン
ユーザーインターフェースにおいて、描画されるラインの太さをカスタマイズし、デザインに統一感を持たせます。
具体例
以下は、使用可能なライン幅を確認し、太いライン幅で輪郭を描画する具体的な例です。
* 画像の読み込み
read_image(Image, 'sample_image.png')
* 使用可能なライン幅のクエリを実行
query_line_width(WindowHandle, AvailableWidths)
* 最も太いライン幅を使用して輪郭を描画
set_line_width(WindowHandle, AvailableWidths[-1]) * 一番太いライン幅を設定
edges_sub_pix(Image, EdgesXLD, 'canny', 1, 20, 40)
disp_xld(EdgesXLD, WindowHandle)
disp_message(WindowHandle, 'Thickest Line Width Used', 'window', 12, 12, 'black', 'true')
このコードでは、query_line_width
を使用して取得したライン幅の中から最も太い幅を設定し、そのライン幅を使用してエッジを描画しています。これにより、エッジが強調され、視覚的に目立つように描画されています。
まとめ
HALCON
のquery_line_width
関数は、システム内でサポートされている描画ライン幅のリストを取得し、描画や結果表示の際に最適なライン幅を選択するためのツールです。ライン幅を調整することで、画像処理結果を強調したり、視覚的にわかりやすく表示することが可能になります。特に、輪郭やエッジの描画において、適切なライン幅を設定することで、結果の見やすさを向上させることができます。