Recherche…


Syntaxe

  • void cv :: Mat :: convertTo (OutputArray m, int rtype, double alpha = 1, double beta = 0) const

Paramètres

Paramètre Détails
m matrice de sortie; s'il n'a pas une taille ou un type correct avant l'opération, il est réaffecté
type le type de matrice de sortie souhaité ou plutôt la profondeur puisque le nombre de canaux est identique à celui de l'entrée; si rtype est négatif, la matrice de sortie aura le même type que l'entrée
alpha facteur d'échelle facultatif. Cela change le contraste d'une image. Les valeurs inférieures à 1 diminuent le contraste et au dessus on augmente le contraste
bêta delta facultatif ajouté aux valeurs mises à l'échelle. Les valeurs positives augmentent la luminosité et les valeurs négatives les diminuent

Remarques

Contraste :

Le contraste est la différence de luminance ou de couleur qui permet de distinguer un objet (ou sa représentation dans une image ou un affichage). Plus la différence entre un pixel et ses voisins est élevée, plus le contraste est élevé dans cette zone.

Luminosité :

En d'autres termes, la luminosité est la perception provoquée par la luminance d'une cible visuelle. En termes de pixels, plus la valeur d'un pixel est élevée, plus le pixel est lumineux.

Réglages du contraste et de la luminosité:

g (i, j) = α.f (i, j) + β

f(x) comme image source pixels et g(x) comme image de sortie pixels.

i et j indiquent que le pixel est situé dans la i-ème ligne et la j-ième colonne.

Les paramètres α > 0 et β sont souvent appelés paramètres de gain et de biais; On dit parfois que ces paramètres contrôlent respectivement le contraste et la luminosité .

Opencv a une fonction appelée convertTo () qui peut appliquer ces deux opérations.

Sources: 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

Réglage de la luminosité et du contraste d'une image en 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;
}

Sortie du programme:

entrer la description de l'image ici



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow