当前位置: 首页 > news >正文

OpenCV教程——调整图像亮度与对比度,绘制形状和文字

调整图像亮度与对比度

1.图像变换

图像变换通常有两种方式:

  1. 像素变换:点操作
  2. 邻域操作:区域

调整图像亮度和对比度属于像素变换(点操作)。

2.调整图像亮度与对比度

可以通过以下公式调整图像的亮度和对比度:

g(i,j)=αf(i,j)+β

通常情况下有α>0

,β

是增益变量。

👉对比度:

对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,差异范围越小代表对比越小。

因此公式中的α

用来调节对比度,而β用来调节亮度。如果两个像素点的像素值在α=1时分别是1和2,两点差值为1;当α=10时,两点像素值分别为10和20,两点差值为10,对比度增大。

绘制形状和文字

1.点和颜色的表示

1.1.点的表示

cv::Point可以表示平面上的一个点。有两种构造方法:

👉方法一:

 
1
2
3
Point p;
p.x=10;
p.y=8

👉方法二:

 
1
Point p=Point(10,8);

1.2.颜色的表示

cv::Scalar表示四个元素的向量。

可以用Scalar(b,g,r)表示RGB图像的颜色。

2.几何形状的绘制

  1. 线:cv::line
  2. 椭圆:cv::ellipse
  3. 矩形:cv::rectangle
  4. 圆:cv::circle
  5. 填充:cv::fillPoly

3.添加文字

向图像中添加文字:cv::putText

4.使用OpenCV生成随机数

使用OpenCV生成随机数:cv::rng

  1. 生成高斯随机数:rng.gaussian(double sigma)
  2. 生成均匀分布随机数:rng.uniform(int a,int b)

5.waitKey()的作用

‼️waitKey()仅对窗口机制起作用。

OpenCV中对waitKey()函数的定义:

 
1
int cv::waitKey(int delay=0)

⚠️参数为等待时间(ms)。如果在此期间有按键按下,则立即结束并返回所按按键的ASCII码,否则返回-1。

⚠️如果delay=0则无限等待下去,直到有按键按下。

http://www.lryc.cn/news/66589.html

相关文章:

  • Python模块篇:函数/类/变量和常量/注释/导入和使用
  • Java反射和动态代理
  • [NOIP2004 提高组] 津津的储蓄计划(思路+代码详解)Python实现
  • 分布式搜索引擎es 面试突击
  • 社会心理学的六个经典实验
  • Java 单例模式详解
  • AI读心重磅突破登Nature!大脑信号1秒被看穿,还能预测未来画面
  • 【SAP Abap】X-DOC:SNRO - ABAP流水号应用
  • 基于AT89C51单片机的交通灯设计与仿真
  • MySQL系列三(定位慢SQL、SQL优化与索引优化)Using filesort
  • 免费使用GPT-4.0?【AI聊天 | GPT4教学】 —— 微软 New Bing GPT4 申请与使用保姆级教程
  • 渲染对电脑伤害大吗_如何减少渲染伤机?
  • 非线性最小二乘
  • 23.5.7总结(学习通项目思路)
  • 如何生成api接口获取宝贝商品详情,商品详情接口,产品详情
  • 微服务---Redis实用篇-黑马头条项目-登录功能(短信验证缓存,用户信息缓存)
  • 美国纽扣电池的包装电池盒必须附带警告标签16 CFR 第 1700.20
  • AcWing——方格迷宫(有点不一样的迷宫问题)
  • 《常规脉搏传输时间作为人体血压变化标志》阅读笔记
  • java学习之异常三
  • 生产者向 Kafka 发送消息的执行流程
  • Linux命令·netstat
  • 《心安即是归处》读书笔记
  • C++:使用红黑树封装map和set
  • Go 命令
  • LEO、HW、LSO、LW 分别代表什么?
  • 问题 B: 跳石头(C++)(二分答案)
  • bugku——变量1
  • 网络数据包丢失监控
  • Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接