话不多说,直拉上干货.
代码演示 新建项目
新建一个项目opencv-0007,配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法.并加载我们常用的那个图片显示出来
运行一下效果
通过像素操作
我们先获取宽高,然后对每个像素进行循环操作,我们设定了alpha(对比度)和beta(亮度)的值为1.2和30,这个值可以根据不同进行变化
显示效果为
可以看到右边的亮度太高了,显得非常的白了,我们修改一下alpha(对比度)的值为1.1,然后把beta(亮度)的值改为10,再运行一下看看效果
明显可以看到右边的图效果比刚才好多了
其中里面用到了saturate_cast<uchar>的函数,这个函数是用来防止数据溢出的,因为图像的颜色值都在0-255之间,用这个函数大致的原理即
if(data<0)
data=0;
else if(data>255)
data=255;
-END-