推荐答案
在 OpenCV 中播放视频可以通过以下步骤实现:
// www.javascriptcn.com code example
import cv2
# 打开视频文件
video_capture = cv2.VideoCapture('video.mp4')
# 检查视频是否成功打开
if not video_capture.isOpened():
print("Error: Could not open video.")
exit()
# 循环读取视频帧
while True:
ret, frame = video_capture.read()
# 如果读取失败,退出循环
if not ret:
break
# 显示当前帧
cv2.imshow('Video', frame)
# 按下 'q' 键退出播放
if cv2.waitKey(25) & 0xFF == ord('q'):
break
# 释放视频捕获对象并关闭所有窗口
video_capture.release()
cv2.destroyAllWindows()本题详细解读
1. 打开视频文件
使用 cv2.VideoCapture 函数打开视频文件。该函数接受视频文件的路径作为参数,并返回一个视频捕获对象。如果视频文件无法打开,isOpened() 方法将返回 False。
2. 读取视频帧
在 while 循环中,使用 video_capture.read() 方法逐帧读取视频。read() 方法返回两个值:ret 和 frame。ret 是一个布尔值,表示是否成功读取帧;frame 是当前帧的图像数据。
3. 显示视频帧
使用 cv2.imshow() 函数显示当前帧。该函数接受两个参数:窗口名称和要显示的图像数据。
4. 退出播放
通过 cv2.waitKey(25) 函数等待 25 毫秒,并检查是否按下了 'q' 键。如果按下 'q' 键,则退出循环,停止播放视频。
5. 释放资源
在退出循环后,使用 video_capture.release() 释放视频捕获对象,并使用 cv2.destroyAllWindows() 关闭所有打开的窗口。
通过以上步骤,你可以在 OpenCV 中成功播放视频。