因为视频是由一帧帧图像组合成的序列,所以在读取时,使用一个循环遍历所有图像帧。

cap = cv2.VideoCapture("rain.mp4")
while True:
    success, img = cap.read()
    cv2.imshow("Video", img)
    if cv2.waitKey(1) & 0xFF == ord('q'):
      break

cap.read()有两个返回值,success指读取是否成功,img存储读取到的序列。

3.从摄像头获取视频

cv2.VideoCapture()的参数变为摄像头的ID,如果只有一个摄像头,则写成cv2.VideoCapture(0)。

cap = cv2.VideoCapture(0)
cap.set(3, 640) #设置窗口宽度
cap.set(4, 480) #设置窗口高度
while True:
    success, img = cap.read()
    cv2.imshow("Video", img)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

报了一个错,查了下资料,应该是MacOS Catalina新的安全协议导致的。
在这里插入图片描述
感谢文章
解决 Mac Pycharm Process finished with exit code 134 (interrupted by signal 6: SIGABRT) 报错 提供的解决方法。
在这里插入图片描述

程序段里, 1、cap = cv2.VideoCapture(0) VideoCapture()中参数是0,表示打开笔记本的内置摄像头,参数是视频文件路径则打开视频,如cap = cv2.VideoCapture("…/test.avi") 2、ret,frame = cap.read() cap.read()按帧读取视频,ret,frame是获cap.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图. cap = cv2.VideoCapture( "Resources/test_video.mp4" )#视频路径 while True: success,img = cap.read() cv2.imshow("Video",img) if cv2.waitKey(1) & 0xFF ==ord('q'): #表示按下'q'时才停止 break import cv2 img = cv2. imread( "Resources 注意:调用cv.imshow()显示图像时,要使用cv.waitkey()设置适当持续时间,通常设置25ms。criteria:确定窗口搜索停止的准则,主要有迭代次数达到设置的最大值,窗口中心漂移值大于某个设定的限值。3.利用cap.read()获取视频中的每一帧图像,使用out.write()将某一帧图像写入视频中。5.切割输入图像从(0,1)至(10,11)的临时图像,对比直方图,并记录到结果图像。1.从输入图像的左上角(0,0)开始,切割一块(0,0)至(10,10)的临时图像。 1、cap=cv2.VideoCapture(0) 他的参数可以是设备的索引号,或者是一个视频文件. VideoCapture()中参数是0,表示打开PC的第一个摄像头,如果是其他的摄像头参数可以是1. 参数是视频文件路径则打开视频,如 cap = cv2.VideoCapture("../test.avi") 2、ret,frame = cap.read() cap.read() 返回一个布尔值(True/False)。如果帧读取的是正确的,就是 True。所以最后 这是一行 Python 代码,它是从一个视频输入流中读取帧图像的代码。其中,cap 是一个视频输入对象,read() 方法从该对象中读取一帧图像。该方法的返回值有两个: ret:表示读取是否成功的布尔值; frame:读取到的图像帧。 如果 ret 值为 True,表示读取成功;如果 ret 值为 False,则表示读取失败,可能是因为已经读完了所有帧或者其他原因。 一、视频获取 使用 cv2.VideoCapture() 来获取视频,在括号中写入视频读取路径。获取视频的逐帧进行的。 cap = cv2.VideoCapture('video1.mp4') cap 返回值如下: <VideoCapture 000001B6734E1310> 亦可由摄像头输入视频,默认摄像头为0,亦可选择其他摄像头 cap = python-----从本地摄像头和网络摄像头截取图片 ,具体代码如下所示:import cv2# 获取本地摄像头# folder_path 截取图片的存储目录def get_img_from_camera_local(folder_path):cap = cv2.VideoCapture(0)i = 1while True:ret, frame = cap.read()cv2.imshow("c... 这里需要用到mediapipe中的手部关键点检测方法,并且需要判断哪根手指是弯下的,哪根手指是翘起来的。手部关键点检测方法有不明白的可以看我之前的一篇文章:https://blog.csdn.net/dgvv4/article/details/122023047,判断哪个手指 img2 = cv2.imread("../bird.png").astype(np.float32) img = cv2.resize(img,img2.shape[:2]) # 设置权重 a = 0.6 out = img * a +. img = cv2.imread("pic1.jpg").astype(np.float32) #图片1 img2 = cv2.imread('abc.jpg').astype(np.float32) #图片2 H, W, C = img.shape img2 = cv2.resize(img2, (W, H)); a = 0.65 #融合比例系数