Vignetting Correction#
この機能は,pylon ViewerのVignetting Correction機能と連携して動作します。
機能を使用する#
口径食とは、画像の中心に比べて画像の隅が暗くなる現象のことを言います。これはデジタル画像処理ではよく見られる影響です。センサーの端のピクセルが十分な光を受けない場合に発生します。
これは、イメージサークルがセンサーのサイズに比べて小さすぎる場合や、光線がセンサーに適切な角度(センサーの中心に当たるように)で当たらない場合に発生する可能性があります。これの場合、エッジのピクセルのグレー値が低いことを意味します。
これらのアーチファクトを除去するには、pylon Viewerを使用して一連の補正データを作成する必要があります。次の図は、このプロセスを示します。
In step 1, correction values (CV) for all pixels are calculated and saved in the camera's memory. In step 2, the vignetting artifacts are removed immediately if the VignettingCorrectionMode
parameter is enabled. To remove the artifacts, the correction values are multiplied with the original pixel values (OV) to achieve an improved image (Resulting Values, RV).
Using the VignettingCorrectionMode
parameter, you can turn the correction on and off. This parameter will only be available after you have created vignetting correction data using the pylon Viewer.
You can also use vignetting correction data from a different camera if your camera has similar specifications as the one on which you created the vignetting correction data. To do so, follow these steps. Afterwards, execute the VignettingCorrectionLoad
command.
情報
- 最適な結果を得るには、補正データを作成する前に、光源の初期値やガンマなどの非線形機能をすべて無効にしてください。これらの機能は、あとで再度有効にすることができます。
- カラーカメラでは、補正データを作成する前にベイヤーピクセルフォーマットを選択します。補正データを作成したら、任意のピクセルフォーマットを選択できます。
- ビネット補正を実行するときは、生成された基準画像の隅の部分が中央部より適度に暗くなっていることが重要です。
- ビネットは、使用するレンズ、口径、および焦点距離の影響を受けます。レンズ、口径、または焦点距離を変更する場合は、ビネット補正データの新しいセットを作成する必要があります。
-
Changing the binning factor while the
BinningSelector
parameter is set toSensor
will disable vignetting correction. TheVignettingCorrectionMode
parameter will be set toOff
, and you won't be able to turn it on again until one of the following happens:- ビニング係数を、ビネット補正を実行した係数にリセットする。
- 新しい係数を使用して再度ビネット補正を実行する。
サンプルコード#
ace 2 および boost R カメラ#
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK; /* Return value of pylon methods */
/* Turn vignetting correction on */
errRes = PylonDeviceFeatureFromString(hdev, "BslVignettingCorrectionMode", "On");
CHECK(errRes);
/* Load vignetting correction data */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslVignettingCorrectionLoad");
CHECK(errRes);
その他のカメラ#
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK; /* Return value of pylon methods */
/* Turn vignetting correction on */
errRes = PylonDeviceFeatureFromString(hdev, "VignettingCorrectionMode", "On");
CHECK(errRes);
/* Load vignetting correction data */
errRes = PylonDeviceExecuteCommandFeature(hdev, "VignettingCorrectionLoad");
CHECK(errRes);
pylon Viewerを使用して、パラメーターを簡単に設定することもできます。