【OpenCV-Python】:视频直方图的动态显示

✨博客主页:王乐予🎈
✨年轻人要:Living for the moment(活在当下)!💪
🏆推荐专栏:【图像处理】【千锤百炼Python】【深度学习】【排序算法

一、前言

【OpenCV-Python】:直方图及直方图均衡化(有源码)中我们知道了如何使用plot函数和opencv绘制图像直方图;

【OpenCV-Python】:调用电脑摄像头+读取视频中我们知道了如何读取电脑中的视频并可视化出来

今天带来的便是对视频的直方图动态显示!
请添加图片描述

二、程序展示

import cv2
import matplotlib.pyplot as plt

cap = cv2.VideoCapture(r'C:\Users\Lenovo\Desktop\wzry.mp4')
plt.ion()       # 由于matplotlib的显示模式默认为"阻塞模式","阻塞模式"下,plt只会显示第一张图,因此这里使用plt.ion()启动动态绘图模式

while(True):
    
    plt.clf()       # 清屏函数,如果不加该函数会导致每一帧的直方图被叠加

    ret, frame = cap.read()
    video = cv2.resize(frame, (1200, 540))      # 由于原视频分辨率过大,为了适配显示器,这里按比例对帧尺度缩小

    cv2.imshow('frame', video)      # 显示视频

    histb = cv2.calcHist([frame], [0], None, [256], [0, 256])
    histg = cv2.calcHist([frame], [1], None, [256], [0, 256])
    histr = cv2.calcHist([frame], [2], None, [256], [0, 256])

    plt.plot(histb, color='b')
    plt.plot(histg, color='g')
    plt.plot(histr, color='r')

    if cv2.waitKey(1) == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

三、结果可视化

这里贴几张截图展示一下!(鲁大一出手,就知有没有!)

记得动手试试!!!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王乐予

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

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

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

打赏作者

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

抵扣说明:

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

余额充值