提高像素对比度

P7 按像素提高图像的对比度#include<iostream>
#include<opencv2/opencv.hpp>using namespace std;
using namespace cv;int main(int argc, char** argv) {//读取一个文件并展示,如果文件地址不正确,打印相关信息Mat src, gray_src;src = imread("./images/Lena.png");if (src.empty()) {cout << "can't find the file " << endl;return -1;}imshow("input image", src);//调整图片的亮度int height = src.rows;int width = src.cols;Mat src_change;src_change = Mat::zeros(src.size(), src.type());float alpha = 1;float beta = 0;for (int col = 0; col < width; col++) {for (int row = 0; row < height; row++) {if (src.channels() == 3 ) {float b = src.at<Vec3f>(row, col)[0];//读取图片像素float g = src.at<Vec3f>(row, col)[1];float r = src.at<Vec3f>(row, col)[2];src_change.at<Vec3f>(row,col)[0] = saturate_cast<uchar>(b*alpha + beta);//修改图片像素src_change.at<Vec3f>(row, col)[1] = saturate_cast<uchar>(g*alpha + beta);src_change.at<Vec3f>(row, col)[2] = saturate_cast<uchar>(r*alpha + beta);}else if (src.channels() == 0) {float v = src.at<uchar>(row, col);src_change.at<uchar>(row, col) = saturate_cast<uchar>(v*alpha + beta);}}}char output_title[] = "contrast and brighten the demo";namedWindow(output_title, CV_WINDOW_AUTOSIZE);imshow(output_title, src_change);cout << src_change << endl;waitKey(0);return 0;
}

OpenCV学习笔记六-提高对比度相关推荐

  1. opencv 手选roi区域_【opencv学习笔记六】图像的ROI区域选择与复制

    图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...

  2. opencv学习笔记(六)---图像梯度

    图像梯度的算法有很多方法:sabel算子,scharr算子,laplacian算子,sanny边缘检测(下个随笔)... 这些算子的原理可参考:https://blog.csdn.net/poem_q ...

  3. opencv学习笔记六十八:显示中文汉字

    opencv中putText只能显示英文,如果在某个程序中你想显示汉字,可在该项目上新建一个头文件项putText.h和一个putText.cpp即可. putText.h #ifndef PUTTE ...

  4. opencv学习笔记六十三:基于CNN的性别、年龄预测

    来自于2015年CVPR的一篇paper<Age and Gender Classification using Convolutional Neural Networks>. Paper ...

  5. 分水岭算法java,OpenCV 学习笔记 04 深度估计与分割——GrabCut算法与分水岭算法...

    1 使用普通摄像头进行深度估计 1.1 深度估计原理 这里会用到几何学中的极几何(Epipolar Geometry),它属于立体视觉(stereo vision)几何学,立体视觉是计算机视觉的一个分 ...

  6. OpenCV学习笔记(十六):直方图均衡化:equalizeHist()

    OpenCV学习笔记(十六):直方图均匀化:equalizeHist() 参考博客: 直方图均衡化的数学原理 直方图匹配的数学原理 直方图均衡化广泛应用于图像增强中: 直方图均衡化处理的"中 ...

  7. OpenCV学习笔记(四十六)——FAST特征点检测features2D OpenCV学习笔记(四十七)——VideoWriter生成视频流highgui OpenCV学习笔记(四十八)——PCA算

    OpenCV学习笔记(四十六)--FAST特征点检测features2D 特征点检测和匹配是计算机视觉中一个很有用的技术.在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用.这一次先介绍特征点检 ...

  8. OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC

    OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...

  9. OpenCV学习笔记(五十六)——InputArray和OutputArray的那些事core OpenCV学习笔记(五十七)——在同一窗口显示多幅图片 OpenCV学习笔记(五十八)——读《Mast

    OpenCV学习笔记(五十六)--InputArray和OutputArray的那些事core 看过OpenCV源代码的朋友,肯定都知道很多函数的接口都是InputArray或者OutputArray ...

最新文章

  1. VC:CString用法整理(转载)
  2. 前端面试之Vue向技巧总结
  3. 短信网址价值不大不应被热炒
  4. Tcl与Design Compiler (三)——DC综合的流程
  5. python如何批量发布数据并如何定时更换token
  6. 调用微信和支付宝调三方接口扫描二维码?
  7. .Net Core分布式部署中的DataProtection密钥安全性
  8. Divide and Sum CodeForces - 1445D(排列组合+逆元)
  9. NOIP2015 D1 解题报告
  10. CISSP的成长之路(十六):复习访问控制(1)
  11. 杭州一高中推刷脸吃饭:8秒搞定;乌海市与上海荷福签署合作协议 进入人工智能矿业安全领域...
  12. 确保Kubernetes环境安全的3种最佳实践
  13. PADS Router 布线不显示粗细问题的解决
  14. 深入理解JavaScript内部原理(6): 闭包
  15. java netbeans_Java初学者学习Netbeans介绍
  16. table表格固定thead,tbody可滑动
  17. 11.8版本更新公告:灵罗娃娃 格温登场
  18. pinbox: 我用过最好的收藏工具
  19. 华为eNSP的介绍与简单使用
  20. Android创建新的联系人,保存至现有联系人

热门文章

  1. Equals 和 == 的区别
  2. 蒙娜丽莎,品牌创新的探索者
  3. 能玩java游戏oppo按键手机_游戏手机排行榜|OPPO Reno果然不负期待
  4. cmd下pip安装mysql_pip安装MySQLpython
  5. (一)导学(Javascript设计模式系统讲解与应用)
  6. python怎么使用int四舍五入_使用Python 3的数字格式可以将数字四舍五入到成百上千个...
  7. antdesign 表单中的单选按钮处理
  8. java jxl之Excel的读取
  9. Ubuntu: Eclipse Tensorflow不能加载CUDA( libcublas.so.10.0:cannot open shared object file:No such file )
  10. PyDev的使用-高效Py编程