zoukankan      html  css  js  c++  java
  • opencv3.2.0图像对比度与亮度调整

    ##名称:图像对象度与对比度调整(由轨迹条分别控制对比度和亮度值)
    ##平台:QT5.7.1+opencv3.2.0
    ##时间:2017年12月13日
    /***********建立QT控制台程序************/
    #include <QCoreApplication>
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    #include <iostream>
    using namespace std;
    using namespace cv;
    
    //全局变量声明
    Mat srcImage;
    Mat dstImage;
    int contrastValue;
    int brightValue;
    //const string WINDOW_NAME = "contrast&brightValue";
    /*******改变图像对比度和亮度值的回调函数*******/
    void on_change(int,void*)
    {
       namedWindow("contrast&brightValue",1);
        for(int i = 0; i < srcImage.rows; i++)
        {
            for(int j = 0; j < srcImage.cols; j++)
            {
                for(int c = 0; c < 3; c++)
                {
                    dstImage.at<Vec3b>(i,j)[c] =
                 saturate_cast<uchar>((contrastValue * 0.01) * ( srcImage.at<Vec3b>(i,j)[c] ) + brightValue);
                }
            }
        }
        imshow("contrast&brightValue",dstImage);
    }
    
    int main()
    {
       srcImage = imread("/home/ttwang/11.jpg");
       dstImage = Mat::zeros(srcImage.size(),srcImage.type());
       contrastValue = 80;//设定对比度初值
       brightValue = 80;//设定对亮度的初值
    
       namedWindow("contrast&brightValue",1);
    
       //创建轨迹条
       createTrackbar("对比度: ", "contrast&brightValue", &contrastValue, 300, on_change);//第二个参数不能为中文,该参数为中文时,我的运行不成功
       createTrackbar("亮度: ","contrast&brightValue", &brightValue, 200, on_change);
    
       //进行回调函数初始化
       on_change(contrastValue,0);
       on_change(brightValue,0);
    
       waitKey(0);
       return 0;
    }
  • 相关阅读:
    [转]MVP+WCF+三层结构搭建项目框架
    PowerDesigner之PDM(物理概念模型)
    atoi 和 itoa
    最短作业优先(SJF)
    TCP 三次握手过程详解
    TCP/UDP,SOCKET,HTTP,FTP 简析
    计算机的OSI和TCP/IP网络模型
    理解数据成员指针、函数成员指针
    虚函数底层原理
    C++多态有哪几种方式?
  • 原文地址:https://www.cnblogs.com/ilym/p/8033394.html
Copyright © 2011-2022 走看看