【HALCON】open_framegrabber 関数について - フレームグラバーのオープン
2024-09-06
2024-09-06
HALCON
のopen_framegrabber
関数は、フレームグラバー(カメラやビデオキャプチャデバイス)をオープンして、画像を取得するための関数です。この関数を使うことで、カメラからの画像データをリアルタイムで取得し、さまざまな画像処理や解析に利用することができます。画像処理システムにおいて、カメラの設定や動作の制御を行う上で重要な役割を果たします。
open_framegrabber 関数の概要
open_framegrabber
関数は、指定されたフレームグラバー(例えば、カメラデバイス)をオープンし、画像取得の準備を行います。この関数を使って、カメラの解像度、カラーフォーマット、画像のキャプチャモードなどを設定し、フレームグラバーを制御します。オープンされたフレームグラバーは、リアルタイムの画像取得や動画ストリーム処理に利用されます。
基本構文
open_framegrabber(Name, HorizontalResolution, VerticalResolution, StartRow, StartColumn, Field, BitsPerChannel, ColorSpace, CameraType, Device, Port, LineIn, GrabberHandle)
-
Name
使用するフレームグラバーの名前(例:'GigEVision'
,'DirectShow'
)。 -
HorizontalResolution
,VerticalResolution
カメラの水平および垂直方向の解像度。 -
StartRow
,StartColumn
画像取得を開始する行および列の座標。 -
Field
画像のフィールドタイプ(例:'progressive'
)。 -
BitsPerChannel
1チャンネルあたりのビット数。 -
ColorSpace
画像の色空間(例:'gray'
,'rgb'
)。 -
CameraType
カメラの種類(例:'area_scan'
,'line_scan'
)。 -
Device
,Port
,LineIn
デバイス、接続ポート、入力ラインに関する設定。 -
GrabberHandle
オープンされたフレームグラバーのハンドル。カメラ制御や画像取得に使用されます。
使用方法
以下に、open_framegrabber
関数を使ってカメラデバイスをオープンし、画像を取得する基本的な例を示します。
* フレームグラバーをオープン
Name := 'DirectShow'
HorizontalResolution := 640
VerticalResolution := 480
StartRow := 0
StartColumn := 0
Field := 'progressive'
BitsPerChannel := 8
ColorSpace := 'rgb'
CameraType := 'area_scan'
Device := 0
Port := 0
LineIn := 0
open_framegrabber(Name, HorizontalResolution, VerticalResolution, StartRow, StartColumn, Field, BitsPerChannel, ColorSpace, CameraType, Device, Port, LineIn, GrabberHandle)
* 画像の取得
grab_image(Image, GrabberHandle)
* 取得した画像を表示
disp_image(Image, WindowHandle)
* フレームグラバーをクローズ
close_framegrabber(GrabberHandle)
この例では、DirectShow
タイプのフレームグラバーをオープンし、カメラから640x480の解像度でRGB画像を取得しています。取得した画像は、ウィンドウに表示されます。処理が終了したら、close_framegrabber
関数を使ってフレームグラバーをクローズします。
主なパラメータ
Name
: 使用するフレームグラバーのドライバ名を指定します。使用するカメラの種類や接続方法に応じて選択します(例:'GigEVision'
,'USB3Vision'
)。Resolution
: 画像の解像度を設定します。指定しない場合、カメラのデフォルト解像度が使用されます。ColorSpace
: 取得する画像の色空間を選択します。'rgb'
や'gray'
など、処理に合わせて選択します。Field
: フレームのフィールドタイプ(例:'progressive'
,'interlaced'
)。
応用例
open_framegrabber
関数は、以下のような場面で特に役立ちます。
-
製造ラインでの品質検査
リアルタイムで画像を取得し、製造物の欠陥検出や寸法測定を自動的に行う際に使用されます。 -
監視システム
カメラを使って監視映像を取得し、物体認識や動体検出の解析に活用できます。 -
医療画像処理
カメラデバイスから医療用のリアルタイム画像を取得し、手術支援や診断システムに応用できます。
まとめ
HALCON
のopen_framegrabber
関数は、フレームグラバーをオープンしてカメラから画像を取得し、リアルタイム画像処理や監視システムでの使用に最適なツールです。カメラの設定や動作を制御し、効率的な画像取得と処理が可能です。