opencv学习笔记29-opencv实时显示像素点的灰度值直方图

 一、思路:

(1)主函数 (main):

  • 设置日志级别以隐藏日志信息。
  • 定义是否使用摄像头或视频文件的标志,以及视频文件路径。
  • 创建并打开视频输入,根据标志选择使用摄像头或视频文件。
  • 检查视频是否成功打开,如果失败则打印错误信息并退出。
  • 初始化帧计数器、直方图参数和直方图数组。
  • 循环读取视频帧,对于每一帧,转换为灰度图像,并更新所选像素的直方图。
  • 绘制并显示直方图和当前帧。
  • 等待用户按键,如果用户按下ESC键,则退出循环并结束程序。

(2)鼠标响应函数 (on_mouse):

  • 处理鼠标点击事件,当前只处理鼠标左键按下事件。
  • 更新全局变量 vP 为鼠标点击的坐标。
  • 在鼠标点击的位置上绘制标记,并更新显示图像。

(3)绘制直方图函数 (drawHist):

  • 创建一个用于绘制直方图的空白图像。
  • 初始化直方图图像为白色背景。
  • 计算直方图数组中的最大值,用于归一化。
  • 遍历所有灰度级别,根据直方图数组中的值绘制每个bin的高度。
  • 绘制每个bin的矩形,并填充颜色。

(4)创建视频输入函数 (createInput):

  • 根据传入的标志决定是打开摄像头还是视频文件。
  • 使用 VideoCapture 类创建视频输入&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The_xzs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值