zoukankan      html  css  js  c++  java
  • opencv:通过滑动条调节亮度和对比度

    示例代码:

    #include <opencv.hpp>
    using namespace cv;
    using namespace std;
    void on_change(int, void*); // trackbar 的 callback
    int contrastValue; // 对比度
    int brightValue; // 亮度值
    Mat src, dst;
    int main()
    {
        src= imread("005.jpg");
        dst = src.clone();
        
        contrastValue = 50; // init value = 50
        brightValue = 50; // init value = 50
        namedWindow("调节器", WINDOW_FULLSCREEN);
        createTrackbar("对比度:", "调节器", &contrastValue, 100, on_change);
        createTrackbar("亮度:", "调节器", &brightValue, 100, on_change);
        on_change(contrastValue, 0);
        on_change(brightValue, 0);
        
        waitKey(0);
        return 0;
    }
    void on_change(int, void*)
    {
        for (int y = 0; y < src.rows; y++)
        {
            uchar * data = dst.ptr<uchar>(y); // 获得每行首地址
            uchar * data2 = src.ptr<uchar>(y);
            for (int x = 0; x < src.cols*src.channels();x++)
                data[x] = saturate_cast<uchar>(data2[x] *contrastValue*0.02  + brightValue-50);
                
        }
        imshow("调节器", dst);
    }

      

    ------------ 转载请注明出处 ------------
  • 相关阅读:
    Gitlab使用腾讯企业邮箱
    查看Binlog内容
    微信小游戏手记
    clickhouse手记
    腾讯云手记
    go框架gin
    go idea debug
    go手记
    crontab手记
    Laravel-cors 跨域
  • 原文地址:https://www.cnblogs.com/whlook/p/6476932.html
Copyright © 2011-2022 走看看