Python cv2 播Video
如有误,请指正。
VideoCapture Video file 请自选
import cv2
# open video file
cap = cv2.VideoCapture('rain.mp4')
#--- video information
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
FPS = int(cap.get(cv2.CAP_PROP_FPS))
frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
print(f'width {frame_width} height {frame_height}')
print(f'FPS: {FPS} frame_count {frame_count}')
#--- setup window for show
cv2.namedWindow('video',cv2.WINDOW_KEEPRATIO)
cv2.resizeWindow('video', int(frame_width/3), int(frame_height/3))
cv2.moveWindow('video',300,200)
# read frame by frame
while(True):
ret, frame = cap.read()
cv2.imshow('video',frame)
#播灰阶
#gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
#cv2.imshow('video',gray)
#waitKey 单位msec 1000msec = 1sec
#FPS=24 表示1sec播24张,所以1000msec/24=25msec
#每张可停格 25msec=waitKey(25) 可设定20~25之间,肉眼无法区分快慢
#Escape key to leave
if cv2.waitKey(20)== 27:
break
#--- ending
cap.release()
cv2.destroyAllWindows()
<<: [C#] 取得证交所上市及上柜的股票及ETF清单(附范例)
昨天我们提到红色框框里面的东西,今天就来根据他们的作用进行简单介绍吧! AppDelegate.sw...
终於来到最後一天了!!还记得这个教程的名字为「30 天 Java 从陌生到更陌生」吗? 为什麽会「更...
今天开始的主题有关於MYSQL的crash-safe能力(二阶段提交),如何保证服务在任何时间发生...
接下来介绍比较运算值,也是用程序码跟注解来呈现 结果会以布林true跟false显示 ...
传值或传址? 前面两篇所讲的,基本型别是传值,物件型别是传址,但同时也存在例外,举下例,如果对 ob...