189 8069 5689

C++OpenCV如何实现图像亮度和对比度操作

这篇文章主要介绍了C++ OpenCV如何实现图像亮度和对比度操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

公司主营业务:成都做网站、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出蟠龙免费做网站回馈大家。

代码演示

新建项目

新建一个项目opencv-0007,配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法.并加载我们常用的那个图片显示出来

C++ OpenCV如何实现图像亮度和对比度操作

运行一下效果

C++ OpenCV如何实现图像亮度和对比度操作

通过像素操作

我们先获取宽高,然后对每个像素进行循环操作,我们设定了alpha(对比度)和beta(亮度)的值为1.2和30,这个值可以根据不同进行变化

C++ OpenCV如何实现图像亮度和对比度操作

C++ OpenCV如何实现图像亮度和对比度操作

C++ OpenCV如何实现图像亮度和对比度操作

显示效果为

C++ OpenCV如何实现图像亮度和对比度操作

可以看到右边的亮度太高了,显得非常的白了,我们修改一下alpha(对比度)的值为1.1,然后把beta(亮度)的值改为10,再运行一下看看效果

C++ OpenCV如何实现图像亮度和对比度操作

明显可以看到右边的图效果比刚才好多了

其中里面用到了saturate_cast的函数,这个函数是用来防止数据溢出的,因为图像的颜色值都在0-255之间,用这个函数大致的原理即

if(data<0)  

    data=0;  

else if(data>255)  

    data=255;     

感谢你能够认真阅读完这篇文章,希望小编分享的“C++ OpenCV如何实现图像亮度和对比度操作”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


文章名称:C++OpenCV如何实现图像亮度和对比度操作
文章源于:http://jkwzsj.com/article/pdjped.html

其他资讯