opencv图像对比度,亮度动态调节

1.创建轨迹条

int createTrackbar(conststring& trackbarname, conststring& winname,
    int* value, int count, TrackbarCallback onChange=0,void* userdata=0);

2.获取当前轨迹条的位置

int getTrackbarPos(conststring& trackbarname, conststring& winname);

3.亮度和对比度

亮度是图片的明亮程度;对比度是颜色之间的对比程度,对比度越大,各颜色之间的分别越明显.特别是黑与白之间对比越明显。

理论公式:

4.访问图片中的像素

 for(int y = 0; y < image.rows; y++ )
       {
              for(int x = 0; x < image.cols; x++ )
              {
                     for(int c = 0; c < 3; c++ )
                     {
                            new_image.at<Vec3b>(y,x)[c]= saturate_cast<uchar>( (g_nContrastValue*0.01)*(image.at<Vec3b>(y,x)[c] ) + g_nBrightValue );
                     }
              }
       }

template<> inline uchar saturate_cast<uchar>(int v)     { return (uchar)((unsigned)v <= UCHAR_MAX ? v : v > 0 ? UCHAR_MAX : 0); }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值