グラバーの設定
設定はあらゆる画像取得プログラムの非常に重要な側面があります。
|
●
|
カメラとフレームグラバーはどちらもアプリケーションの要件に応じて設定する必要があります。 |
|
●
|
カメラの設定はフレームグラバーの設定と互換性がある必要があります。 |
設定は基本的にグラバーモジュールで実行される一連の set/get操作 のことです:遠隔装置(すなわち、カメラ)、 インターフェース、 デバイス、または データストリーム モジュール。
このプログラムはグラバーをいわゆる RG 制御モード(非同期リセットカメラ制御、フレームグラバー制御露光)に設定します。
#include <iostream>
#include <EGrabber.h>
const double FPS = 150;
void configure() {
Euresys::EGenTL gentl;
Euresys::EGrabber<> grabber(gentl);
// camera configuration
grabber.setString<Euresys::RemoteModule>("TriggerMode", "On"); // 1
grabber.setString<Euresys::RemoteModule>("TriggerSource", "CXPin"); // 2
grabber.setString<Euresys::RemoteModule>("ExposureMode", "TriggerWidth"); // 3
// frame grabber configuration
grabber.setString<Euresys::DeviceModule>("CameraControlMethod", "RG"); // 4
grabber.setString<Euresys::DeviceModule>("CycleTriggerSource", "Immediate"); // 5
grabber.setFloat<Euresys::DeviceModule>("CycleMinimumPeriod", 1e6 / FPS); // 6
}
int main() {
try {
configure();
} catch (const std::exception &e) {
std::cout << "error: " << e.what() << std::endl;
}
}
|
2.
|
CoaXPressリンクでトリガを探すようにカメラに指示します。 |
|
3.
|
TriggerWidth 露出モードを使用するようにカメラを設定します。 |
|
4.
|
フレームグラバーのカメラ制御方法を RG に設定します。 このモードでは、カメラサイクルはフレームグラバーによって開始され、露光時間もフレームグラバーによって制御されます。 |
|
5.
|
ハードウェアまたはソフトウェアのトリガを待たずに、カメラのサイクルを( CycleMinimumPeriod で定義されたレートで)自動的に開始するようにフレームグラバーに指示します。 |
しかし、グラバーを設定するより良い方法があります。 スクリプトプロファイルを使用すると、プログラムは次のようになります:
#include <iostream>
#include <EGrabber.h>
void configure() {
Euresys::EGenTL gentl;
Euresys::EGrabber<> grabber(gentl);
grabber.runScript("config.js");
}
int main() {
try {
configure();
} catch (const std::exception &e) {
std::cout << "error: " << e.what() << std::endl;
}
}
また、設定スクリプトは次のとおりです:
var grabber = grabbers[0];
var FPS = 150;
// camera configuration
grabber.RemotePort.set("TriggerMode", "On");
grabber.RemotePort.set("TriggerSource", "CXPin");
grabber.RemotePort.set("ExposureMode", "TriggerWidth");
// frame grabber configuration
grabber.DevicePort.set("CameraControlMethod", "RG");
grabber.DevicePort.set("CycleTriggerSource", "Immediate");
grabber.DevicePort.set("CycleMinimumPeriod", 1e6 / FPS);
スクリプトファイルを使用する利点があります:
|
●
|
アプリケーションを再コンパイルせずに設定を変更できます。 これにより現像時間を短縮でき、ラボまたは現場で設定を更新することが可能になります。 |
|
●
|
設定スクリプトはGenICamブラウザとコマンドライン gentl ツールによってロードすることができます。 これにより、ユーザアプリケーションの外部で設定を検証できます。 |
|
●
|
設定スクリプトは、異なるプログラミング言語で書かれたいくつかのアプリケーション(C ++、C#、VB.NETなど)で簡単に共有できます。 |
Euresysのドキュメントについて
このドキュメントは、バージョン44のGoogle Chrome、バージョン20のMicrosoft Edge向けに最適化されています。
適切に表示するにはJavascriptが必要です。 ブラウザでアクティブなスクリプトを有効にする必要があります。
推奨される画面解像度は、少なくとも1280 x 1024です。
本書はCoaxlink 11.0 (doc build ) とともに提供されます。2077
利用規約
EURESYS s.a. は、ハードウェアおよびソフトウェアのドキュメントおよび EURESYS s.a. の商標のあらゆる所有権、権原および権益を留保します。
本書に記載されているすべての会社名および製品名は、各所有者の商標である可能性があります。
EURESYS s.a. のハードウェアまたはソフトウェア、ブランドまたは本書に含まれるドキュメントのライセンス供与、使用、リース、貸し出し、翻訳、複製、複写または変更は、 事前の通知なく許可されていません。
EURESYS s.a. は、随時、自由裁量で、事前の通知なく製品の仕様を変更したり、本書に記載されている情報を変更することができます。
EURESYS s.a. は、EURESYS s.a. のハードウェアまたはソフトウェアの使用に関連して発生した、または本書での欠落または誤りの結果生じた、収入、利益、営業権、データ、情報システムのいかなる損失または損害、またはその他のあらゆる種類の特別な、偶発的な、間接的な、派生的な、または懲罰的な損害に対し 一切の責任を負いません。