最近在做视频评估,来分享如何画一个视频的动态灰度直方图python代码,如有错误请大家及时指出~
import turtle import cv2 import matplotlib.pyplot as plt plt.ion() #建立窗口 plt.figure() #建立图窗 cap = cv2.VideoCapture('station2.avi') #avi格式的文件 while(True): plt.clf() #清屏 ret, frame = cap.read() if ret == False: break; gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #灰度处理 cv2.imshow('Grayscale', gray) #展示灰度视频 hist = cv2.calcHist([gray],[0],None,[256],[0,256]) #计算直方图 plt.plot(hist) plt.draw() plt.title('Gray Histogram Contour') plt.xlabel('gray level') plt.ylabel('number of pixels') plt.pause(5) # 每帧暂停时间 # plt.ioff() plt.show() # 显示直方图,防闪退 cap.release() turtle.done()
大功告成!