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

C ++を使用してOpenCVで画像の明るさを変更するにはどうすればよいですか?


明るさを変更するとは、ピクセルの値を変更することを意味します。これは、各ピクセルの現在の値に整数値を加算または減算することを意味します。ピクセルごとに整数値を追加すると、画像が明るくなります。すべてのピクセルから一定の値を引くと、明るさが低下します。まず、明るさを上げる方法を学び、次に明るさを下げる方法を学びます。

明るさを上げる

OpenCVを使用して明るさを上げるのは非常に簡単です。明るさを上げるには、チャンネルごとに値を追加すると、明るさが増します。たとえば、BRG画像には、青(B)、緑(G)、赤(R)の3つのチャネルがあります。つまり、ピクセルの現在の値は(B. G、R)になります。明るさを上げるには、(B、G、R)+(10、10、10)や(B、G、R)+(20、20、20)などのスカラー数を追加する必要があります。あなたが欲しい。

次の例では、画像を明るくします-

#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 brighter;//Declaring a matrix to load the image after changing the brightness//
   namedWindow("Original");//Declaring window to show the original image//
   namedWindow("Brighter");//Declaring window to show the brighter image//
   original = imread("bright.jpg");
   brighter = original + Scalar(80, 80, 80);//adding integer value to change the brightness//
   imshow("Original", original);//showing original image//
   imshow("Brighter", brighter);//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. Image Resizer を使用して画像形式を変更する方法

    デジタル画像は、手持ちのスナップショットとは異なり、さまざまな目的に使用できます。サイズ変更、トリミング、回転、サイズ変更、フォーマットの変更が可能です。ただし、これらすべてを実行するには、これらの雑用を支援できる画像編集ツールが必要です。もちろん、Adobe Photoshop を使って写真を作成することもできますが、これは使いにくいプログラムです。この記事では、基本的で使いやすいツールである Image Resizer を使用して、デジタル写真の形式を変更することに焦点を当てます。このツールを使用して、画像を他の形式に簡単に変換できます。 画像サイズ変更プログラムの機能 画像サイズ変更ツー