📅  最后修改于: 2023-12-03 14:47:04.874000             🧑  作者: Mango
cap.read()
方法介绍cap.read()
方法是 OpenCV 中读取视频或摄像头的主要方法之一,它可以读取视频数据或者从摄像头捕获数据,并且每次调用该方法都会获取下一帧的数据。当视频或摄像头中的所有帧都被读取时,它将放回False,以指示已经到达视频文件末尾或摄像头停止读取数据。
ret, img_frame = cap.read()
该方法返回 ret 和 img_frame 两个参数。
在成功读取到图像时,ret 的值为 True,并且 img_frame 的值为读取到的图像帧数据。如果无法读取到图像,则 ret 的值为 False,img_frame 的值为None。
import cv2
cap = cv2.VideoCapture(0)
while True:
# 读取每一帧
ret, img_frame = cap.read()
if ret:
# 显示图像
cv2.imshow("Video", img_frame)
# 按下 q 键退出录像
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放摄像头
cap.release()
# 关闭窗口
cv2.destroyAllWindows()
在以上示例中,我们首先使用 cv2.VideoCapture()
方法获取摄像头并打开。接下来在 while 循环中,每次通过 cap.read()
方法读取摄像头的一帧。成功读取到图像时,我们将图像通过 cv2.imshow()
方法显示出来。当用户按下键盘上的 q 键时,我们通过 break
语句退出循环,结束录制。
最后,我们调用 cap.release()
释放摄像头资源,同时使用 cv2.destroyAllWindows()
关闭显示窗口。