这是我参与更文挑战的第11天,活动详情查看: 更文挑战
OpenCV是一个C++库,目前流行的计算机视觉编程库,用于实时处理计算机视觉方面的问题,它涵盖了很多计算机视觉领域的模块。在Python中常使用OpenCV库实现图像处理。
本文将介绍如何在Python3中使用OpenCV实现视频文件读取并显示:
前文
本文拟实现的是使用内建摄像头捕获视频,并显示视频的每一帧以实现视频的播放功能。
- 创建摄像头对象,路径指向视频文件。
- 逐帧显示以实现视频播放。
创建摄像头对象
Opencv自带的VideoCapture()函数定义了摄像头对象。
如下所示:
video = cv2.VideoCapture('E:\\demo\\0603\\1.mp4')
逐帧显示实现视频播放
在while循环中,利用视频对象的read()函数依次读取视频帧并显示,然后等待1个单位时间,如果在此期间检测到了键盘输入L,则退出,即关闭窗口。
while(1):
# get a frame
ret, frame = video.read()
# show a frame
cv2.imshow("capture", frame)
if cv2.waitKey(100) & 0xFF == ord('L'):
释放摄像头对象和窗口
调用release()释放摄像头,调用destroyAllWindows()关闭所有图像窗口。
video.release()
cv2.destroyAllWindows()
完整程序代码
import cv2
import numpy as np
video = cv2.VideoCapture('E:\\demo\\0603\\1.mp4')
while(1):
# get a frame
ret, frame = video.read()
# show a frame
cv2.imshow("capture", frame)
if cv2.waitKey(100) & 0xFF == ord('L'):
break
video.release()
cv2.destroyAllWindows()
输出为:
本月将陆续推出相关系列文章,
篇篇精彩,尽请关注。