cv2.VideoCapture(0).set/get

简介:
pencv自带的VideoCapture()函数定义摄像头对象,其参数0表示第一个摄像头,一般就是笔记本的内建摄像头。 cap = cv2.VideoCapture("../test.avi") 逐帧显示实现视频播放 在while循环中,利用视频对象的read()函数读取视频的某帧,并显示


class VideoCapture(builtins.object)

 |  Methods defined here:

 |  

 |  __init__(self, /, *args, **kwargs)

 |      Initialize self.  See help(type(self)) for accurate signature.

 |  

 |  __new__(*args, **kwargs) from builtins.type

 |      Create and return a new object.  See help(type) for accurate signature.

 |  

 |  __repr__(self, /)

 |      Return repr(self).

 |  

 |  get(...)

 |      get(propId) -> retval

 |      .   @brief Returns the specified VideoCapture property

 |      .   

 |      .   @param propId Property identifier from cv::VideoCaptureProperties (eg. cv::CAP_PROP_POS_MSEC, cv::CAP_PROP_POS_FRAMES, ...)

 |      .   or one from @ref videoio_flags_others

 |      .   @return Value for the specified property. Value 0 is returned when querying a property that is

 |      .   not supported by the backend used by the VideoCapture instance.

 |      .   

 |      .   @note Reading / writing properties involves many layers. Some unexpected result might happens

 |      .   along this chain.

 |      .   @code {.txt}

 |      .   `VideoCapture -> API Backend -> Operating System -> Device Driver -> Device Hardware`

 |      .   @endcode

 |      .   The returned value might be different from what really used by the device or it could be encoded

 |      .   using device dependant rules (eg. steps or percentage). Effective behaviour depends from device

 |      .   driver and API Backend

 |  

 |  grab(...)

 |      grab() -> retval

 |      .   @brief Grabs the next frame from video file or capturing device.

 |      .   

 |      .   @return `true` (non-zero) in the case of success.

 |      .   

 |      .   The method/function grabs the next frame from video file or camera and returns true (non-zero) in

 |      .   the case of success.

 |      .   

 |      .   The primary use of the function is in multi-camera environments, especially when the cameras do not

 |      .   have hardware synchronization. That is, you call VideoCapture::grab() for each camera and after that

 |      .   call the slower method VideoCapture::retrieve() to decode and get frame from each camera. This way

 |      .   the overhead on demosaicing or motion jpeg decompression etc. is eliminated and the retrieved frames

 |      .   from different cameras will be closer in time.

 |      .   

 |      .   Also, when a connected camera is multi-head (for example, a stereo camera or a Kinect device), the

 |      .   correct way of retrieving data from it is to call VideoCapture::grab() first and then call

 |      .   VideoCapture::retrieve() one or more times with different values of the channel parameter.

 |      .   

 |      .   @ref tutorial_kinect_openni

 |  

 |  isOpened(...)

 |      isOpened() -> retval

 |      .   @brief Returns true if video capturing has been initialized already.

 |      .   

 |      .   If the previous call to VideoCapture constructor or VideoCapture::open() succeeded, the method returns

 |      .   true.

 |  

 |  open(...)

 |      open(filename) -> retval

 |      .   @brief  Open video file or a capturing device or a IP video stream for video capturing

 |      .   

 |      .   @overload

 |      .   

 |      .   Parameters are same as the constructor VideoCapture(const String& filename)

 |      .   @return `true` if the file has been successfully opened

 |      .   

 |      .   The method first calls VideoCapture::release to close the already opened file or camera.

 |      

 |      

 |      

 |      open(index) -> retval

 |      .   @brief  Open a camera for video capturing

 |      .   

 |      .   @overload

 |      .   

 |      .   Parameters are same as the constructor VideoCapture(int index)

 |      .   @return `true` if the camera has been successfully opened.

 |      .   

 |      .   The method first calls VideoCapture::release to close the already opened file or camera.

 |      

 |      

 |      

 |      open(cameraNum, apiPreference) -> retval

 |      .   @brief  Open a camera for video capturing

 |      .   

 |      .   @overload

 |      .   

 |      .   Parameters are similar as the constructor VideoCapture(int index),except it takes an additional argument apiPreference.

 |      .   Definitely, is same as open(int index) where `index=cameraNum + apiPreference`

 |      .   @return `true` if the camera has been successfully opened.

 |      

 |      

 |      

 |      open(filename, apiPreference) -> retval

 |      .   @brief Open video file or a capturing device or a IP video stream for video capturing with API Preference

 |      .   

 |      .   @overload

 |      .   

 |      .   Parameters are same as the constructor VideoCapture(const String& filename, int apiPreference)

 |      .   @return `true` if the file has been successfully opened

 |      .   

 |      .   The method first calls VideoCapture::release to close the already opened file or camera.

 |  

 |  read(...)

 |      read([, image]) -> retval, image

 |      .   @brief Grabs, decodes and returns the next video frame.

 |      .   

 |      .   @param [out] image the video frame is returned here. If no frames has been grabbed the image will be empty.

 |      .   @return `false` if no frames has been grabbed

 |      .   

 |      .   The method/function combines VideoCapture::grab() and VideoCapture::retrieve() in one call. This is the

 |      .   most convenient method for reading video files or capturing data from decode and returns the just

 |      .   grabbed frame. If no frames has been grabbed (camera has been disconnected, or there are no more

 |      .   frames in video file), the method returns false and the function returns empty image (with %cv::Mat, test it with Mat::empty()).

 |      .   

 |      .   @note In @ref videoio_c "C API", functions cvRetrieveFrame() and cv.RetrieveFrame() return image stored inside the video

 |      .   capturing structure. It is not allowed to modify or release the image! You can copy the frame using

 |      .   :ocvcvCloneImage and then do whatever you want with the copy.

 |  

 |  release(...)

 |      release() -> None

 |      .   @brief Closes video file or capturing device.

 |      .   

 |      .   The method is automatically called by subsequent VideoCapture::open and by VideoCapture

 |      .   destructor.

 |      .   

 |      .   The C function also deallocates memory and clears \*capture pointer.

 |  

 |  retrieve(...)

 |      retrieve([, image[, flag]]) -> retval, image

 |      .   @brief Decodes and returns the grabbed video frame.

 |      .   

 |      .   @param [out] image the video frame is returned here. If no frames has been grabbed the image will be empty.

 |      .   @param flag it could be a frame index or a driver specific flag

 |      .   @return `false` if no frames has been grabbed

 |      .   

 |      .   The method decodes and returns the just grabbed frame. If no frames has been grabbed

 |      .   (camera has been disconnected, or there are no more frames in video file), the method returns false

 |      .   and the function returns an empty image (with %cv::Mat, test it with Mat::empty()).

 |      .   

 |      .   @sa read()

 |      .   

 |      .   @note In @ref videoio_c "C API", functions cvRetrieveFrame() and cv.RetrieveFrame() return image stored inside the video

 |      .   capturing structure. It is not allowed to modify or release the image! You can copy the frame using

 |      .   :ocvcvCloneImage and then do whatever you want with the copy.

 |  

 |  set(...)

 |      set(propId, value) -> retval

 |      .   @brief Sets a property in the VideoCapture.

 |      .   

 |      .   @param propId Property identifier from cv::VideoCaptureProperties (eg. cv::CAP_PROP_POS_MSEC, cv::CAP_PROP_POS_FRAMES, ...)

 |      .   or one from @ref videoio_flags_others

 |      .   @param value Value of the property.

 |      .   @return `true` if the property is supported by backend used by the VideoCapture instance.

 |      .   @note Even if it returns `true` this doesn't ensure that the property

 |      .   value has been accepted by the capture device. See note in VideoCapture::get()


目录
相关文章
|
4月前
|
存储 NoSQL Ubuntu
在Ubuntu上安装Redis并学习使用get、set和keys命令
在Ubuntu上安装Redis并学习使用get、set和keys命令
|
18天前
|
XML Java 数据库连接
mybatis和mybatiplus中Error attempting to get column ‘xx‘ from result set
mybatis和mybatiplus中Error attempting to get column ‘xx‘ from result set
20 0
|
6月前
|
Java
Java-----抽象类为什么不能实例化?抽象方法为什么不能被static修饰?set和get方法的使用方法
Java-----抽象类为什么不能实例化?抽象方法为什么不能被static修饰?set和get方法的使用方法
|
3月前
|
存储 监控 NoSQL
搞定 Redis 数据存储原理,别只会 set、get 了
搞定 Redis 数据存储原理,别只会 set、get 了
40 0
|
3月前
|
监控 JavaScript 前端开发
【面试题】vue2双向绑定原理:深入响应式原理defineProperty、watcher、get、set
【面试题】vue2双向绑定原理:深入响应式原理defineProperty、watcher、get、set
|
8月前
|
Java Android开发
eclipse去掉try-catch,构造方法,get,set方法等里面自动生成的注释
eclipse去掉try-catch,构造方法,get,set方法等里面自动生成的注释
66 0
|
9月前
|
C#
对C#中set{} get{}的一点理解
对C#中set{} get{}的一点理解
|
11月前
|
Android开发
Android Studio 快速获取get,set方法
在写实体类的时候,对每一个字段的get和set方法一个一个敲那是相当难受啊! 那这边如何快速的set,get或者生成构造函数,生成toString方法。
|
12月前
设计一个长方形类,成员变量包括长度和宽度,成员函数除包括计算周长和计算面积外,还包括用 Set 方法设置长和宽,以及用 get 方法来获取长
设计一个长方形类,成员变量包括长度和宽度,成员函数除包括计算周长和计算面积外,还包括用 Set 方法设置长和宽,以及用 get 方法来获取长
138 0
|
Python
Python描述符(__get__和__set__和__delete__)
Python描述符(__get__和__set__和__delete__)
89 0