C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++を使用してOpenCVで画像の明るさを下げる方法は?


明るさを下げる方法は、明るさを上げる方法と非常によく似ています。唯一の違いは、画像から「スカラー(B、G、R)」を差し引くことです。ここでは、明るさを下げるためにスカラー値を減算しています。

次のプログラムは、OpenCVで画像の明るさを下げる方法を示しています。

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main() {
   Mat original; //Declaring a matrix to load the original image//
   Mat dimmer;//Declaring a matrix to load the image after changing the brightness//
   namedWindow("Original");//Declaring window to show the original image//
   namedWindow("Dimmer");//Declaring window to show the brighter image//
   original = imread("bright.jpg");
   dimmer = original - Scalar(80, 80, 80);//subtracting integer value to change the brightness//
   imshow("Original", original);//showing original image//
   imshow("Dimmer", dimmer);//showing brighter image//
   waitKey(0);//wait for keystroke//
   return(0);
}

出力

C ++を使用してOpenCVで画像の明るさを下げる方法は?


  1. Java OpenCVライブラリを使用して画像の明るさを変更するにはどうすればよいですか?

    convertTo() org.opencv.core.Matのメソッド クラスは、画像のコントラストと明るさを変更するために、指定された行列に対して必要な計算を実行します。このメソッドは4つのパラメーターを受け入れます- マット −ソース行列と同じサイズとタイプの結果を保持するための空行列。 rtype −出力マトリックスのタイプを指定する整数値。この値が負の場合、タイプはソースと同じになります。 アルファ −ゲイン値。0より大きくなければなりません(デフォルト値1)。 ベータ −バイアス値(デフォルト値0)。 OpenCVJavaライブラリを使用して画像の

  2. Java OpenCVライブラリを使用して画像のコントラストを変更するにはどうすればよいですか?

    画像の明るさやコントラストの増減は、画像のピクセルを変換することで実現できる操作です。これは、方程式の形で次のように表すことができます- g(i, j) = α . f(i, j)+ β どこで、 (i、j)はピクセルの位置です。 α(ゲイン)とβ(バイアス)は変換のパラメーターです。 ゲインパラメータが画像のコントラストを制御し、バイアスパラメータが画像の明るさを制御する場合があります。 convertTo() org.opencv.core.Matのメソッド クラスは、画像のコントラストと明るさを変更するために、指定された行列に対して必要