
プログラミングに代わるパラメーター化
どのカメラアプリケーションでも最初はカメラのセットアップから始まります。IDS Software Suite プログラミングインターフェース (API) は、ユーザー固有のアプリケーションへのカメラの画像処理および撮影の制御機能を完備しています。新しいソフトウェアアップデートを利用すると、設定範囲はさらに広がります。しかし、設定範囲の拡大には欠点があります。静的パラメーターに使用する設定をプログラムしたり、パラメーター化にグラフィカルユーザーインターフェースを作成したりする必要があります。標準設定から設定内容が逸れたり、アプリケーションで提供する設定範囲が広がると、プログラミングの労力が増加します。
IDS Software Suite API の全機能の約 2/3 はカメラ画像および画像撮影の設定に関するものです。カメラの操作状態に必要なのは全機能の 1/3 だけです。各アプリケーションを効果的に実行するには、最適な設定が重要な要件です。こうした設定の実装に時間と労力をかけるのは、理にかなっています。しかし、アプリケーションごとに毎回この作業を繰り返すのでしょうか。それとも初期設定を切り分けて再利用することができるのでしょうか。
背景
一般に、ユーザーがアプリケーションで設定を閉じるまで、カメラは現在の設定で処理を続けます。このとき、すべての調整内容が失われます。カメラを再起動すると、デフォルト設定で動作します。
具体的な例は、動作中のカメラが不意に接続を切断される場合です。この状況で、カメラドライバーは動作を続けます。再接続すると、カメラでは以前の状態が復元されます。IDS Software Suite のこの特別な「再接続」機能は、ユーザーが操作しなくても自動的に実行されます。
カメラ設定を通常の操作モードでも再利用できたら、便利ではないでしょうか。それが実現しました。IDS Software Suite プログラミング API には、実行中のカメラの実際の設定を保存し、後で復元する機能があります。
カメラ設定の保存
カメラ設定を *.ini ファイルまたはカメラの不揮発性ユーザーメモリに保存できます。
ini ファイル
- さまざまな設定を複数の ini ファイルに保存します。
- ini ファイルは、カメラを開いた後、明示的にロードする必要があります。
- ini ファイルはテキストエディターで読み取りや編集が可能です。このとき、設定をコピーまたは変更できます。
カメラ内
- カメラの不揮発性メモリには、1 つのパラメーターセットしか保存できません。
- 自動ロード: パラメーターファイルとは異なり、カメラの内部パラメーターセットはカメラを開いたときに自動的にロードできます。カメラを開いたときの動作は、IDS Camera Manager によって制御されます。「カメラ構成」の「IDS Camera Manager」の章を参照してください。
カメラ設定のロード
保存したパラメーターセットは、各アプリケーションによってカメラにロードできます。カメラ固有の ini ファイルのみをロードできます。
アプリケーションにカメラの設定オプションを取り入れる必要は、必ずしもありません。初期起動と事前構成は、uEye Cockpit を使用して手間なく実行でき、カメラ設定を 1 つまたは複数のパラメーターセットに保存できます。
制約
- ルックアップテーブル値 (LUT) は一般パラメーターセットには保存されません。代わりに is_Lut() 関数を使用します。定義済みの LUT 値をカメラにロードしたり、固有の LUT をファイルとして保存したり、ファイルからロードしたりすることができます。
- 複数の AOI パラメーターの保存は、一部の特別なセンサーモデルでのみサポートされています。
パラメーターセットの保存の詳細については、uEye のマニュアルを参照してください。
カメラ構成
uEye Cockpit
uEye Cockpit を使用すると、プログラミング API が提供するすべての重要なカメラ機能を制御できます。プログラミング作業は不要で、あらゆる機能を試して、アプリケーション向けにカメラを調整できます。ダイアログや自動化を多数取り入れた、IDS カメラにとって最適な構成です。カメラ構成以外にも、設定の保存やロードも実装されています。
カメラを uEye Cockpit で開いて、目的のオプションを調整します。適切なカメラ設定を保存するには、[ファイル] メニューの [パラメータを保存] を選択して、設定の保存場所としてファイルまたはカメラの内蔵メモリを選択します。
注意: 設定をカメラの内蔵メモリに保存するとき、既存の設定は警告なしで上書きされます。
以前保存されていたパラメーターセットをカメラに適用するには、[ファイル] メニューの [パラメータをロード] を使用して、パラメーターセットの場所を選択します。
IDS Camera Manager
IDS Software Suite では、以前保存されたパラメーターセットをカメラのメモリに適用する場合も、シンプルな操作を利用できます。IDS Camera Manager を使用して、カメラを開いたときに、デフォルト値ではなくカメラに保存されたパラメーターを自動的に適用するかどうかを選択できます。
これはすべての接続されたカメラに適用される、グローバル設定です。カメラにパラメーターが保存されていない場合、このカメラモデルの標準パラメーターが適用されます。
カスタムアプリケーション
- 保存されたカメラ設定を明示的にロードするには、uEye API 関数 is_ParameterSet() を使用します。ini ファイルのパラメーターまたはカメラの内蔵パラメーターセットをロードまたは保存する、さまざまなコマンドを使用します。
- カメラを開くときに自動構成を使用するには、標準動作を変更する必要があります。関数パラメーター IS_CONFIG_INITIAL_PARAMETERSET_CMD_SET を API 関数 is_Configuration() と組み合わせて使用して、カメラを開くときに内蔵パラメーターセットを適用します。
詳細情報および API 関数 is_ParameterSet() と is_Configuration() を使用するサンプルコードについては、uEye のマニュアルを参照してください。
まとめ
現在のカメラ設定を保存して後で再利用する機能は、IDS Software Suite に以前から搭載されています。IDS ラインスキャンモードやマルチ AOI など多くの新しいカメラ機能を搭載し、さまざまな役に立つ構成機能が実装されています。uEye Cockpit と組み合わせると、時間を大幅に短縮できる強力なツールとなります。
ユーザー自身がカメラ構成をプログラミングするという面倒な作業は、不要になります。使用する可能性があるすべての設定は、すでに uEye Cockpit で実装済みです。選択して有効化し、調整、パラメーター化、保存するだけです。構成はほんの数クリックで完了します。
アプリケーションで複数の実行モードを使用する場合は、以前保存したカメラ設定を活用して、モードを迅速に切り替えることができます。保存したカメラ設定を再利用すると、カメラの動作条件が同一になり、アプリケーションの再現性が向上します。また、どのアプリケーションでも使用できます。
これらの長所は、画像処理アプリケーションの開発に役立ちます。uEye Cockpit でカメラの設定をアプリケーションに合わせて調整し、設定を保存します。サードパーティのインターフェースでカメラを再度開き、カメラ設定を再ロードします。カメラのプログラミングを気にすることなく、画像処理アプリケーションに集中します。
組み込みアプリケーションのプログラミングは、クロスコンパイルが必要なので、はるかに困難になります。ディスプレイやキーボードのコネクターがないので、カメラを組み込みシステムに直接設置できないことも一般的です。特にこのような場合では、カメラ設定を uEye Cockpit で事前校正すると、高い効果を発揮します。
uEye カメラ構成の詳細については、uEye のマニュアル (https://jp.ids-imaging.com/manuals-ueye-software.html) を参照してください。