通常图像操作有两种:
点操作
邻域操作
对比度、亮度调整就是典型的点操作。
简单操作实例如下:
#include<opencv2/opencv.hpp>
using namespace cv;
void on_BrightnessAndContrast(int, void*);
int g_nContrast, g_nBrightness;
int g_nMaxContrast = 300;
int g_nMaxBrightness = 200;
Mat srcImage, dstImage;
int main()
{
srcImage = imread("cat.jpg");
dstImage = Mat::zeros(srcImage.size(), srcImage.type());
namedWindow("【效果图窗口】", 1);
createTrackbar("对比度", "【效果图窗口】", &g_nContrast, g_nMaxContrast, on_BrightnessAndContrast);
createTrackbar("亮度", "【效果图窗口】", &g_nBrightness, g_nMaxBrightness, on_BrightnessAndContrast);
on_BrightnessAndContrast(g_nContrast, 0);
on_BrightnessAndContrast(g_nBrightness, 0);
waitKey(0);