opencv6-调整图像亮度和对比度
一、理论
亮度:0~255之间取大一些的值
对比度:即让R G B 分量的差值增大
二、代码演示
#include<opencv2\opencv.hpp>
#include<iostream>
#include<math.h>
using namespace cv;
using namespace std;
int main()
{Mat src = imread("E:\\vs2015\\opencvstudy\\3.jpg", 1);if (!src.data){cout << "could not load image1!" << endl;return -1;}char input_win[] = "input image";imshow(input_win, src);cvtColor(src, src, CV_BGR2GRAY);//Vec3b 到 Vec3f 的转换函数 src.convertTo()Mat m1;src.convertTo(m1, CV_32F);int height = src.rows;int width = src.cols;Mat dst = Mat::zeros(src.size(), src.type());double alpha = 0.6; //控制对比度float beta = 10; //控制亮度for (int row = 0; row < height; row++){for (int col = 0; col < width; col++){if (src.channels() == 3){/*int b = src.at<Vec3b>(row,col)[0]; 这里直接使用Vec3f会报错。不可以强转int g = src.at<Vec3b>(row,col)[1];int r = src.at<Vec3b>(row,col)[2];*/float b = m1.at<Vec3f>(row, col)[0];float g = m1.at<Vec3f>(row, col)[1];float r = m1.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*r + beta);}else if (src.channels() == 1){float pixel = src.at<uchar>(row, col);dst.at<uchar>(row, col) = saturate_cast<uchar>(alpha*pixel + beta);}else {cout << "ERROR" << endl;}}}char output_title[] = "contrast and brightness change demo";imshow(output_title, dst);waitKey(0);return 0;
}
opencv6-调整图像亮度和对比度相关推荐
- 【opencv4】opencv视频教程 C++ 7、手动调整图像亮度与对比度 g(i, j) = αf(i, j) + β(点操作与邻域操作概念)
上一讲:[opencv4]opencv视频教程 C++ 6.图像混合.线性混合.混合权重相加addWeighted().混合加add().混合乘multiply() [opencv_C++] 入门强推 ...
- java 对比度_调整图像亮度、对比度、饱和度
完整代码如下: 1.主要方法编写类 package chapter4; import java.awt.image.BufferedImage; public class BSCAdjustFilte ...
- OpenCV(C++)---调整图像亮度和对比度
1.理论 图像变换可以看作如下: 像素变换 – 点操作 邻域操作 – 区域 调整图像亮度和对比度属于像素变换-点操作: 2.重要的API Mat new_image = Mat::zeros( ima ...
- 调整图像亮度与对比度
文章目录 理论 代码演示 理论 图像变换可以看作如下: 像素变换 – 点操作,用在调整图像亮度和对比度等操作上. 邻域操作 – 区域,用在图像卷积.特征提取.梯度计算.模式匹配识别.角点检测.模糊.平 ...
- opencv中如何调整图像亮度和对比度,以及亮度和对比度调整的原理
文章目录 1. 调整图像亮度和对比度的原理 2. python实现的一个代码如下,可以直接运行 3. 在opencv种调节图像和对比度的方法 a. opencv中的实现方法: b. 根据咱们的公式,我 ...
- halcon中怎么降低图像亮度_第6课-调整图像亮度和对比度
(非原创,看课程自己做的笔记,防丢失放到个人空间的) 第6课-调整图像亮度和对比度理论 代码演示 1-理论 图像变换可以看做如下: -像素变换-点操作: -邻域操作-区域: 调整图像亮度和对比度属于像 ...
- 调整图像亮度和对比度
图像变换可以看做两部分: 像素操作: 1.点操作,一般用于提升图像整体的对比度等. 2.邻域操作,一般用于空间域滤波,提取特征. 调整图像亮度和对比度属于像素变换 g(i,j)=αf(i,j)+βg\ ...
- 0.4-OpenCvSharp4调整图像亮度和对比度
0.4-OpenCvSharp4调整图像亮度和对比度 图像变换: 1)像素变换 – 点操作,用在调整图像亮度和对比度等操作上. 2)邻域操作 – 区域,用在图像卷积.特征提取.梯度计算.模式匹配识别. ...
- opencv 调整图像亮度和对比度
图像亮度 以灰度图像为例,图像亮度指的是图像的明暗程度,图像的像素值整体越接近于255,图像越亮,反之越接近于0,图像越暗. 图像对比度 假设灰度图像的像素值的范围为[a,b],如果b-a的值越接近于 ...
- 6. 调整图像亮度和对比度(OpenCV基础课程视频学习)
课程视频链接:https://www.bilibili.com/video/av29600072?p=7 内容 理论知识 代码 1. 理论知识 图像变换可以看作如下两种: 像素变换 -- 点操作,例如 ...
最新文章
- Gradle入门系列(4):创建二进制发布版本
- xampp mysql 端口被占用_xampp安装后apache 80端口被占用的解决方法
- datax mysql replace_DataX-MySQL(读写)
- python决策树sklearn_python利用sklearn包编写决策树源代码
- 论文浅尝 | 知识库问答中关系检测的学习表示映射
- docker安装zookeeper_Docker安装Zookeeper以及Zookeeper常用命令
- 4月28日见!努比亚红魔3电竞手机曝光:90Hz屏幕刷新率加持
- 《深入浅出DPDK》读书笔记(一):基础部分知识点
- Greeting Card 模拟
- 毕业那天我们一起失恋
- matlab图像取反_matlab图像处理
- 一位工作了 10 年的 Java 高级架构师的技术之路
- 数据库sql对象名无效问题
- 论文阅读:Negative Lexically Constrained Decoding for Paraphrase Generation
- 四川交通职业技术学院计算机二级,明天考计算机了。
- vue前端生成二维码,实现扫码下载功能
- 使用U盘制做CentOS7.6安装盘并安装CentOS7.6系统
- 微信小程序杂技之---九宫格图片排版与操作
- 情侣空间显示服务器失败,情侣空间error是什么意思
- CPU Fan Error 解决:华硕主板M5A78L LE设置风扇最低转速限制
热门文章
- opencv运动目标跟踪预测_基于Opencv的运动目标的检测和跟踪.pdf
- mysql主键设置after_mysql如何改变主键属性
- unity3d 动态合批设置_Unity3D SkinnedMeshRenderer合批优化
- 在java中null的作用_在java中避免使用!= null有什么好处?
- c语言的数据类型复数型,C语言数据类型
- mysql数据库权威指南_MySQL_MySQL权威指南读书笔记(三),第二章:MYSQL数据库里面的数 - phpStudy...
- LeetCode算法入门- Reverse Integer-day6
- python连接数据库mysql错误1045、手动登录可以_登录mysql错误1045解决方法
- html整体引入js,html页面用js引入js的方式
- 高考python必考题目_假如高考考python编程,这些题目你会几个呢?