处理图像经常会对图像色彩进行增强,这就是改变图像的亮度和对比度。本章基于opencv对图像的亮度和对比度进行处理操作。其实,这是对图像的每一个像素点进行相应的操作。

在这个公式中

  • alpha
    第一个参数α必须是大于零,不然则基本上没有意义了。
    α能使图像像素成倍数的增长或降低(α<1),改变了是图像的对比度,因为使图像的差值变化了。
  • beta
    β可为负,也可为正。
    任何一个像素都在(0, 255)之间,加上一个值或减去一个值则会使这个像素点变大或变小,其实就是向白色或向黑色靠近(0为黑,255为白),所以改变的是图像的亮度。

相关函数

实例

int main() {Mat src,src1 ,dst;src = imread("D:/test/first.png",0);if (!src.data) {cerr << "open error" << endl;return -1;}dst = Mat::zeros(src.size(), src.type());float alpha = 1.2;float beta = 30;int rows = src.rows;int cols = src.cols;int channals = src.channels();src.convertTo(src1, CV_32F);for (int row = 0; row < rows; row++) {for (int col = 0; col < cols; col++) {if (channals == 1) {float s = src.at<uchar>(row, col);dst.at<uchar>(row, col) = saturate_cast<uchar>(alpha * s + beta);}else {float b = src1.at<Vec3f>(row, col)[0];float g = src1.at<Vec3f>(row, col)[1];float r = src1.at<Vec3f>(row, col)[2];dst.at<Vec3b>(row, col)[0] = saturate_cast<uchar>(alpha * b + beta);dst.at<Vec3b>(row, col)[1] = saturate_cast<uchar>(alpha * g + beta);dst.at<Vec3b>(row, col)[2] = saturate_cast<uchar>(alpha * b + beta);}}}imshow("yuantu", src);imshow("new", dst);waitKey(0);return 0;}


  • float alpha = 0.8;
    float beta = 20;

opencv--图像色彩和对比度相关推荐

  1. OpenCV亮度和对比度调整的实例(附完整代码)

    OpenCV亮度和对比度调整的实例 OpenCV亮度和对比度调整的实例 OpenCV亮度和对比度调整的实例 #include <iostream> #include "openc ...

  2. Python+OpenCV:图像对比度受限自适应直方图均衡化(CLAHE, Contrast Limited Adaptive Histogram Equalization)

    Python+OpenCV:图像对比度受限自适应直方图均衡化(CLAHE, Contrast Limited Adaptive Histogram Equalization) ############ ...

  3. OpenCV C++ 图像对比度和亮度

    目录 知识点 亮度和对比度调整原理 示例代码 reference 知识点 在本文中将了解到以下几个方面的内容: 1.C++ OpenCV访问像素值:2.用0初始化矩阵:3.saturate_cast起 ...

  4. OpenCV之图像对比度与亮度调整(C++实现)

    图像对比度和亮度的调整,属于图像处理中的点操作,其有一个特点:仅仅根据输入像素的值,来计算相应的输出像素值.这列蒜子包括亮度和对比度调整.颜色校正和变换. 最常用的点操作是乘以一个常数,再加上一个常数 ...

  5. 【OpenCV】图片对比度和亮度

    [知识点梳理 1.防止溢出   在opencv中,对计算式进行计算的时候经常会出现值溢出(上溢出或下溢出),尤其是对无符号数值进行加减操作时.opencv中使用Saturation Casting&q ...

  6. c++ opencv实现图像对比度增强

    #include<iostream> #include<opencv2/opencv.hpp> #include<math.h>using namespace cv ...

  7. OpenCV之图像对比度、亮度值调整

    先上代码 #include <iostream> #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> ...

  8. opencv关于对比度和亮度的误解

    1 对比度与亮度概念 亮度调整:图像像素强度整体变高/变低. 对比度调整:图像暗处像素强度变低,图像亮处像素强度变高,从而拉大中间某个区域范围的显示精度. 通过设计一个映射曲线就可完成对比度.亮度调整 ...

  9. python 图像无缝拼接,OpenCV Python 系列教程3 - Core 组件

    基本知识 灰度图像的存储方式: image 多通道图像存储方式 image OpenCV 中的通道存储为 BGR 像素值的存储方式 RGB 模式,显示设备采用这种模式 HSV.HLS 将颜色分解成色调 ...

  10. python opencv直方图_【python opencv】直方图均衡

    搜索热词 考虑这样一个图像,它的像素值仅局限于某个特定的值范围.例如,较亮的图像将把所有像素限制在高值上.但是一幅好的图像会有来自图像所有区域的像素.因此,您需要将这个直方图拉伸到两端(如下图所示,来 ...

最新文章

  1. ubuntu修改u盘权限_Ubuntu下提示U盘没有些权限的只能读不能写
  2. python mysql connector update_Python(Mysql Connector)如何刷新curs上的结果
  3. django-admin.py创建项目失败解决方法
  4. 方案解析:纸张计数精准测量出200张纸?!第1名妥妥的
  5. iOS 技术官方 QA
  6. 02 掌握实现数据导入导出的方法 1214
  7. Nacod服务注册与发现(AP架构)、心跳检查机制
  8. python机器学习库教程——结巴中文分词
  9. LInux下的交换分区以及相关查看命令
  10. 38. 遵循按照值传递的原则来设计函数子类
  11. DirectX修复工具(DirectX Repair)修复工具V4.0增强版
  12. 计算机课初中文化的学生招,计算机应用 教学计划
  13. 高频电子线路张肃文第五版详解_高频电子线路第五版张肃文主编学习课件(上).ppt...
  14. 项目管理和产品立项流程图
  15. 开发一种提供医学药学常用公式图片的文档编辑器插件
  16. android listview表格分页显示,android实现listview分页的方法
  17. 联想小新潮7000-13安装黑苹果笔记,无需无线网卡(无需U盘+win双系统+opencore)
  18. 电阻的基本原理、参数、应用与选型
  19. LateX使用笔记(持续更新)
  20. 基于Vue.js制作的仿车轮驾考通APP端页面

热门文章

  1. 【Try to Hack】Kerberos基础
  2. omnet、sumo、veins环境搭建笔记
  3. keras+theano安装教程
  4. ios开发者中心,证书,APPID,配置文件
  5. php 在线选座,捷西网络在线选座系统
  6. R语言学习-基础篇1
  7. IT培训有靠谱的机构吗,长什么样的?
  8. SMS-EMOA:基于超体积支配的多目标选择
  9. 手打css 问号提示-用于输入框,标题后面...
  10. Apache修改服务器监听端口,练习 - 04 - 配置 Apache 服务器的监听端口