サーチ…


構文

  • void cv :: Mat :: convertTo(OutputArray m、int rtype、doubleアルファ= 1、ダブルベータ= 0)const

パラメーター

パラメータ詳細
m 出力行列;操作の前に適切なサイズまたはタイプがない場合は、再割り振りされます
rtype チャネルの数が入力と同じであるため、所望の出力行列タイプ、またはむしろ深さ。 rtypeが負の場合、出力行列は入力と同じ型になります
アルファオプションのスケールファクタ。これにより、画像のコントラストが変更されます。 1より小さい値はコントラストを減少させ、1より大きい値はコントラストを増加させる
ベータスケーリングされた値にオプションのデルタが追加されました。正の値は明るさを増やし、負の値は明るさを減少させます

備考

コントラスト

コントラストは、オブジェクト(またはイメージまたはディスプレイ内でのその表現)を区別可能にする輝度または色の違いです。ピクセルとその隣接ピクセルとの差が大きいほど、その領域のコントラストは高くなる。

明るさ

言い換えれば、明るさは、視覚目標の輝度によって引き出される知覚である。ピクセルに関しては、ピクセルの値が高いほどそのピクセルは明るくなります。

コントラストと明るさの調整:

g(i、j)=α・f(i、j)+β

f(x)を出力画像画素、 g(x)を出力画像画素とする。

ijは、画素がi行j列に位置していることを示す。

パラメータα > 0およびβは、しばしば利得およびバイアスパラメータと呼ばれる。これらのパラメータは、それぞれ、 コントラストおよび輝度を制御すると言われることがある。

OpencvにはconvertTo()という関数があり、この関数はこれら2つの操作を適用できます。

ソース: http : //docs.opencv.org/trunk/d3/d63/classcv_1_1Mat.html#adf88c60c5b4980e05bb556080916978b http://opencv-srf.blogspot.ca/2013/07/change-contrast-of-image-or-video .html http://opencv-srf.blogspot.ca/2013/07/change-brightness.html

C ++で画像の明るさとコントラストを調整する

// main.cpp : Defines the entry point for the console application.
//
#include "opencv2/highgui/highgui.hpp"
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, const char** argv)

{

    Mat img = imread("lena30.jpg", CV_LOAD_IMAGE_COLOR); //open and read the image


    if (img.empty())
    {
        cout << "Image cannot be loaded..!!" << endl;
        return -1;
    }

    Mat img_higher_contrast;
    img.convertTo(img_higher_contrast, -1, 2, 0); //increase the contrast (double)

    Mat img_lower_contrast;
    img.convertTo(img_lower_contrast, -1, 0.5, 0); //decrease the contrast (halve)

    Mat img_higher_brightness;
    img.convertTo(img_higher_brightness, -1, 1, 20); //increase the brightness by 20 for each pixel 

    Mat img_lower_brightness;
    img.convertTo(img_lower_brightness, -1, 1, -20); //decrease the brightness by 20 for each pixel 

    //create windows
    namedWindow("Original Image", CV_WINDOW_AUTOSIZE);
    namedWindow("High Contrast", CV_WINDOW_AUTOSIZE);
    namedWindow("Low Contrast", CV_WINDOW_AUTOSIZE);
    namedWindow("High Brightness", CV_WINDOW_AUTOSIZE);
    namedWindow("Low Brightness", CV_WINDOW_AUTOSIZE);
    //show the image
    imshow("Original Image", img);
    imshow("High Contrast", img_higher_contrast);
    imshow("Low Contrast", img_lower_contrast);
    imshow("High Brightness", img_higher_brightness);
    imshow("Low Brightness", img_lower_brightness);

    waitKey(0); //wait for key press
    destroyAllWindows(); //destroy all open windows
    return 0;
}

プログラムの出力:

ここに画像の説明を入力



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow