コンテンツにスキップ

Brightness and Contrast (BCON for MIPI)#

Brightness and Contrastカメラ機能を使用すると、画像の色調値を調整できます。

明るさとコントラストは、常に共通の数学的Brightness/Contrast機能の一部として一緒に処理されます。

機能を使用する#

Adjusting Contrast#

To adjust the contrast, enter a value for the BslContrast parameter. The parameter's value range is from -1 to 1. By default, the parameter is set to 0 which means that the contrast remains unchanged.

明るさの調整#

明るさを調整するには、BslBrightnessパラメーターの値を入力します。パラメーターの値の範囲は-1~1です。デフォルトでは、このパラメーターは0に設定されており、明るさは変更されません。

仕組み#

Contrast#

コントラストを調整すると、画像の明るい領域と暗い領域の差の度合いが変わります。適用するコントラストが大きいほど、違いがはっきりします。

The camera uses an S-curve function to adjust the contrast.

これにより、画像のダイナミックレンジを維持しながら、知覚されるコントラストを向上させることができます。

コントラストを高くするにつれ、機能のグラフのS字形は次のようになります。

Contrast = 0.3, Brightness = 0, S-Curve Contrast Mode

Contrast = 0.5, Brightness = 0, S-Curve Contrast Mode

上の図は、S-Curveモードでコントラストを上げると、次のような効果があることを示しています。

  • S字曲線では、開始点と終了点あたりで平坦になり、中央あたりが急勾配になります。その結果、画像の明るい部分と暗い部分のコントラストが低減し、中間調のコントラストが増加します。
  • 低入力ピクセル値が小さくなり、高入力ピクセル値が大きくなります。その結果、画像の極端な暗い部分と明るい部分が圧縮され、コントラストがさらに向上します。
  • 曲線は常に(0,0)から開始し、(Xmax,Ymax)で終了するため、画像のダイナミックレンジは保持されます。

S-Curveモードで0より低いコントラスト設定を行うと、逆効果の反転Sカーブが生成されます。

明るさ#

明るさを調整すると、色調値を増減して画像を明るくしたり暗くしたりできます。

明るさを調整すると、Brightness/Contrast機能の中心点が移動します。

  • 明るさを上げると、中心点が左上に移動します。これは、画像が明るく表示されることを意味します。
  • 明るさを下げると、中心点が右下に移動します。これは、画像が暗く表示されることを意味します。

以下の図は、S-Curveコントラストモードを選択した場合の例を示します。

Contrast = 0.3, Brightness = 0, S-Curve Contrast Mode

Contrast = 0.3, Brightness = 0.3, S-Curve Contrast Mode

サンプルコード#

// Set the Brightness parameter to 0.5
camera.BslBrightness.SetValue(0.5);
// Set the Contrast parameter to 1.2
camera.BslContrast.SetValue(1.2);
INodeMap& nodemap = camera.GetNodeMap();
// Set the Brightness parameter to 0.5
CFloatParameter(nodemap, "BslBrightness").SetValue(0.5);
// Set the Contrast parameter to 1.2
CFloatParameter(nodemap, "BslContrast").SetValue(1.2);
/* 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 */
/* Set the Brightness parameter to 0.5 */
errRes = PylonDeviceSetFloatFeature(hdev, "BslBrightness", 0.5);
CHECK(errRes);
/* Set the Contrast parameter to 1.2 */
errRes = PylonDeviceSetFloatFeature(hdev, "BslContrast", 1.2);
CHECK(errRes);

You can also use the pylon Viewer to easily set the parameters.