Zoeken…


Syntaxis

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

parameters

Parameter Details
m output matrix; als het voor de bewerking niet de juiste maat of type heeft, wordt het opnieuw toegewezen
R-Type gewenste uitgangsmatrixtype of, liever, de diepte omdat het aantal kanalen hetzelfde is als de ingang heeft; als rtype negatief is, heeft de uitgangsmatrix hetzelfde type als de ingang
alpha optionele schaalfactor. Dit verandert het contrast van een afbeelding. Waarden onder 1 verlagen het contrast en boven één verhoogt het contrast
beta optionele delta toegevoegd aan de geschaalde waarden. Positieve waarden verhogen de helderheid en negatieve waarden verlagen de helderheid

Opmerkingen

Contrast

Contrast is het verschil in helderheid of kleur dat een object (of de weergave ervan in een afbeelding of display) onderscheidbaar maakt. Hoe groter het verschil tussen een pixel en zijn buren, hoe hoger het contrast in dat gebied is.

Helderheid :

Met andere woorden, helderheid is de perceptie die wordt opgewekt door de helderheid van een visueel doelwit. In termen van pixels, hoe hoger de waarde van een pixel, hoe helderder die pixel is.

Contrast en helderheid aanpassingen:

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

f(x) als de bronbeeldpixels en g(x) als de uitvoerbeeldpixels.

i en j geven aan dat de pixel zich in de i-de rij en j-de kolom bevindt.

De parameters α > 0 en β worden vaak de parameters gain en bias genoemd; soms wordt gezegd dat deze parameters respectievelijk contrast en helderheid regelen.

Opencv heeft een functie genaamd convertTo () die deze twee bewerkingen kan toepassen.

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

Helderheid en contrast van een afbeelding aanpassen in 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;
}

Uitgang van het programma:

voer hier de afbeeldingsbeschrijving in



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow