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

C ++を使用してOpenCVのコントラストを変更するにはどうすればよいですか?


明るさやコントラストの変更は、画像処理で頻繁に編集される効果です。ここでは、画像のコントラストを変更する方法を学習します。コントラストは、画像の鮮明さを制御します。コントラストが高いほど画像が鮮明になり、コントラストが低くなると画像が窒息します。

コントラストを変更すると、ピクセルの重みが大きくなります。コントラストが高いほど、画像は鮮明になります。コントラストを変更するには、ピクセル値に定数を掛けます。たとえば、画像のすべてのピクセル値に2を掛けると、ピクセルの値が2倍になり、画像がより鮮明になります。

次のプログラムは、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 contrast;//Declaring a matrix to load the image after changing the brightness//
   namedWindow("Original");//Declaring window to show the original image//
   namedWindow("Contrast");//Declaring window for edited image//
   original = imread("mountain.jpg");//loading the image
   original.convertTo(contrast, -1, 2, 0);//changing contrast//
   imshow("Original", original);//showing original image//
   imshow("Contrast", contrast);//showing edited image//
   waitKey(0);//wait for keystroke//
   return(0);
}

出力

C ++を使用してOpenCVのコントラストを変更するにはどうすればよいですか?


  1. C ++を使用してOpenCVで画像をロードして表示するにはどうすればよいですか?

    このトピックでは、C++でOpenCVを使用して画像を読み込んで表示する方法を決定します。 OpenCVで画像を読み込んで表示するには、次の機能が必要です。 マット: マットは機能ではありません。これはデータ構造であり、変数の一種です。 C ++のint、char、string変数タイプと同様に、MatはOpenCVの変数であり、その中に画像をロードするためのマトリックスデータ構造を作成します。このプログラムでは、「MatmyImage;」と書きました。 これは、myImageという名前の行列変数を宣言していることを意味します。 namedWindow(): メモリを割り当て、画像を

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

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