Code:
#include <opencv2/opencv.hpp>using namespaceCV;intBrightness =5;intcontrast =5; Mat src; Mat Brightnesscontrast;voidBrightnesscontrastfilter (int,void*){ floatBRI = Brightness/5.0f; floatCont = contrast/5.0f; //Brightening ImagesCv::mat Bright = src*(BRI); //Average Brightness floatsum =0; for(inti =0; i < bright.rows; i++){ for(intj =0; J < Bright.cols; J + +) {sum+ = Bright.at<uchar>(i, j); } } floataver = SUM/(bright.cols*bright.rows); Cv::mat averimg=cv::mat::ones (Bright.rows, Bright.cols, Bright.type ()); Averimg*=aver; //interpolation According to the contrastBrightnesscontrast = (bright-averimg) *cont +averimg; Imshow ("Brightnesscontrast", brightnesscontrast);}intMain () {src= Imread ("Densitygray.png",0); Imshow ("src", SRC); Namedwindow ("Brightnesscontrast"); Createtrackbar ("Brightness","Brightnesscontrast", &brightness, -, Brightnesscontrastfilter); Createtrackbar ("contrast","Brightnesscontrast", &contrast, -, Brightnesscontrastfilter); Brightnesscontrastfilter (0,0); Imshow ("Brightnesscontrast", Brightnesscontrast); Waitkey (); Destroyallwindows (); return 0;}
Effect:
Simple code for Brightness contrast adjustment of grayscale images