OpenCV入门:(五:更改图片对比度和亮度)
2015-12-05 12:59
274 查看
1. 理论
图片的转换就是将图片中的每个像素点经过一定的变换,得到新像素点,新像素点组合成一张新的图片。
改变图片对比度和亮度的变换如下:
其中α和β被称作增益参数(gain parameter)和偏差参数(bias parameter),分别控制对比度和亮度。
改变图片对比度和亮度的变换如下:
其中α和β被称作增益参数(gain parameter)和偏差参数(bias parameter),分别控制对比度和亮度。
2. 实现代码
使用上述公式实现改变对比度和亮度的代码如下:
使用OpenCV自带函数处理如下:
void ContrastAndBrightness(const Mat& Src,Mat& Dst,double alpha,double beta) { Dst = Mat::zeros(Src.size(),Src.type()); for (int y = 0; y < Src.rows; y++) { for (int x = 0; x < Src.cols; x++) { for (int c = 0; c < 3; c++) { Dst.at<Vec3b>(y,x)[c] = saturate_cast<uchar>(alpha * (Src.at<Vec3b>(y,x)[c]) + beta); } } } namedWindow("Src Image"); namedWindow("Dst Image"); imshow("Src Image",Src); imshow("Dst Image",Dst); waitKey(); }
使用OpenCV自带函数处理如下:
Src.convertTo(Dst, -1, 2.2, 20);
3. 处理结果
4. 结束
相关文章推荐
- 解决yum安装软件报Couldn't resolve host 'mirrorlist.centos.org问题
- linux 程序调试
- 看我linux(ubuntu)下的64位编译器编译32位程序
- Windows基于Apache的svn服务器配置
- opencv 图片转视频
- 维护堆性质中,堆(完全二叉树)中i结点的子树大小至多为2n/3的证明
- 源码分析:动态分析 Linux 内核函数调用关系
- 50元制作PS2键盘无线监控装置
- Apache Commons-SCXML系列之项目介绍
- nginx源码剖析(三) —— ngx_queue_t分析
- linux下的系统调用函数到内核函数的追踪
- Windows下Subversion和Apache的安装及配置(一)
- CentOS学习日记:PostgreSQL篇
- openwrt添加自己的应用程序
- Ubuntu 64位下解决“bash ./没有那个文件或目录”的问题
- Apache thrift 研究小记
- Linux_FTP服务器
- #Linux学习笔记# Linux系统查看文件内容的命令
- OpenJudge_P7625 三角形最佳路径问题(DP)
- copy和mutableCopy