OpenCV VideoCapture类

OpenCV VideoCapture类

OpenCV VideoCapture类

视频捕获类,可以从视频文件、图像序列和摄像头捕获视频。

1. VideoCapture类构造函数:
创建 Video Capture 类的构造函数
功能:创建一个VideoCapture类的实例,如果传入对应的参数,可以直接打开视频文件或者要调用的摄像头。

函数:VideoCapture ()      
说明: 当结束视频捕获时,调用cvReleaseCapture()释放CvCapture结构函数, 或在析构函数中自动调用 
      cvReleaseCapture()的Ptr<CvCapture> .
 函数:  VideoCapture (const String &filename, int apiPreference=CAP_ANY)  
 参数说明:   
      filename – 打开的视频文件名。
                 视频名 (eg. video.avi)
                 图像序列 (eg. img_%02d.jpg)
                 URL视频流 (eg. protocol://host:port/script_name?script_params|auth)
      apiPreference – 当多种capture方式都可以使用时,指定一种方式(e.g. CAP_FFMPEG or CAP_IMAGES )   
 例程: cv::VideoCapture capture("C:/Users/DADA/DATA/gogo.avi");  // 从视频文件读取 
 函数: VideoCapture (int index, int apiPreference=CAP_ANY)
 参数说明:
      index - 要打开的视频捕获设备ID。打开默认相机定义ID为0;
      apiPreference –  同上;
  例程:VideoCapture (0);
OpenCV VideoCapture is a class that provides an interface for capturing video from cameras or files. It is a part of the OpenCV library that is used for computer vision applications. VideoCapture can be used to capture live video from a webcam or to read video files. To use VideoCapture, you need to create an instance of the class and specify the device or file you want to capture video from. The device is identified by its index number, which starts from 0. For example, to capture video from the default camera, you can use the following code: ```python import cv2 cap = cv2.VideoCapture(0) ``` This creates a VideoCapture object and sets it to capture video from the first camera device available on the system. You can also specify a video file to read using the constructor. For example, to read a video file named "test.mp4", you can use the following code: ```python import cv2 cap = cv2.VideoCapture("test.mp4") ``` Once you have created a VideoCapture object, you can use the read() method to read frames from the video stream. The read() method returns a tuple containing a boolean value and a frame. The boolean value indicates whether the frame was successfully read or not, and the frame is a NumPy array containing the image data. ```python import cv2 cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() if ret: cv2.imshow("Frame", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() ``` This code captures video from the default camera and displays each frame in a window. The loop continues until the user presses the 'q' key to quit. Finally, the VideoCapture object is released and the display window is destroyed.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值