zoukankan      html  css  js  c++  java
  • opencv对比度跟亮度

    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <iostream>

    using namespace std;
    using namespace cv;

    static void on_ContrastAndBright(int, void *);
    static void ShowHelpText();

    int g_nContrastValue;
    int g_nBrightValue;
    Mat g_srcImage, g_dstImage;

    int main() {
        g_srcImage = imread("c:\pics\2.jpg");
        if (!g_srcImage.data) {
            printf("Reading picture error");
            return false;
        }
        g_dstImage = Mat::zeros(g_srcImage.size(), g_srcImage.type());

        g_nContrastValue = 80;
        g_nBrightValue = 80;

        namedWindow("Effect Window", 1);

        createTrackbar("contact:", "Effect Window", &g_nContrastValue, 300, on_ContrastAndBright);
        createTrackbar("brightness", "Effect Window", &g_nBrightValue, 300, on_ContrastAndBright);

        on_ContrastAndBright(g_nContrastValue, 0);
        on_ContrastAndBright(g_nBrightValue, 0);

        while (char(waitKey(1)) != 'q') {}
        return 0;
    }


    static void on_ContrastAndBright(int, void *) {
        namedWindow("Original Window", 1);

        for (int y = 0; y < g_srcImage.rows; y++) {
            for (int x = 0; x < g_srcImage.cols; x++) {
                for (int c = 0; c < 3; c++) {
                    g_dstImage.at<Vec3b>(y, x)[c] = saturate_cast<uchar>((g_nContrastValue*0.01)*(g_srcImage.at<Vec3b>(y, x)[c]) + g_nBrightValue);
                }
            }
        }
        imshow("Original Window", g_srcImage);
        imshow("Effect Window", g_dstImage);
    }

  • 相关阅读:
    hdu 4465 概率称号
    Log4j配置文件位置+Spring数据源配置文件位置
    Centos 6.5下一个SNMP简单配置(snmp protocol v3,监控宝)
    过程 线 多线程 并发 同步异步
    django简单图表
    十年
    一起写2048(160行python代码)
    leetcode
    匹配算法重载方法
    串行卧重建10:小设计,而不是大布局
  • 原文地址:https://www.cnblogs.com/Montauk/p/7495270.html
Copyright © 2011-2022 走看看