OpenCV453
|
Class for video capturing from video files, image sequences or cameras. [詳解]
#include <videoio.hpp>
公開メンバ関数 | |
CV_WRAP | VideoCapture () |
Default constructor [詳解] | |
CV_WRAP | VideoCapture (const String &filename, int apiPreference=CAP_ANY) |
Opens a video file or a capturing device or an IP video stream for video capturing with API Preference [詳解] | |
CV_WRAP | VideoCapture (const String &filename, int apiPreference, const std::vector< int > ¶ms) |
Opens a video file or a capturing device or an IP video stream for video capturing with API Preference and parameters [詳解] | |
CV_WRAP | VideoCapture (int index, int apiPreference=CAP_ANY) |
Opens a camera for video capturing [詳解] | |
CV_WRAP | VideoCapture (int index, int apiPreference, const std::vector< int > ¶ms) |
Opens a camera for video capturing with API Preference and parameters [詳解] | |
virtual | ~VideoCapture () |
Default destructor [詳解] | |
virtual CV_WRAP bool | open (const String &filename, int apiPreference=CAP_ANY) |
Opens a video file or a capturing device or an IP video stream for video capturing. [詳解] | |
virtual CV_WRAP bool | open (const String &filename, int apiPreference, const std::vector< int > ¶ms) |
Opens a camera for video capturing [詳解] | |
virtual CV_WRAP bool | open (int index, int apiPreference=CAP_ANY) |
Opens a camera for video capturing [詳解] | |
virtual CV_WRAP bool | open (int index, int apiPreference, const std::vector< int > ¶ms) |
Returns true if video capturing has been initialized already. [詳解] | |
virtual CV_WRAP bool | isOpened () const |
Returns true if video capturing has been initialized already. [詳解] | |
virtual CV_WRAP void | release () |
Closes video file or capturing device. [詳解] | |
virtual CV_WRAP bool | grab () |
Grabs the next frame from video file or capturing device. [詳解] | |
virtual CV_WRAP bool | retrieve (OutputArray image, int flag=0) |
Decodes and returns the grabbed video frame. [詳解] | |
virtual VideoCapture & | operator>> (CV_OUT Mat &image) |
Stream operator to read the next video frame. [詳解] | |
virtual VideoCapture & | operator>> (CV_OUT UMat &image) |
virtual CV_WRAP bool | read (OutputArray image) |
Grabs, decodes and returns the next video frame. [詳解] | |
virtual CV_WRAP bool | set (int propId, double value) |
Sets a property in the VideoCapture. [詳解] | |
virtual CV_WRAP double | get (int propId) const |
Returns the specified VideoCapture property [詳解] | |
CV_WRAP String | getBackendName () const |
Returns used backend API name [詳解] | |
CV_WRAP void | setExceptionMode (bool enable) |
CV_WRAP bool | getExceptionMode () |
query if exception mode is active | |
静的公開メンバ関数 | |
static bool | waitAny (const std::vector< VideoCapture > &streams, CV_OUT std::vector< int > &readyIndex, int64 timeoutNs=0) |
Wait for ready frames from VideoCapture. [詳解] | |
限定公開変数類 | |
Ptr< CvCapture > | cap |
Ptr< IVideoCapture > | icap |
bool | throwOnFail |
フレンド | |
class | internal::VideoCapturePrivateAccessor |
Class for video capturing from video files, image sequences or cameras.
The class provides C++ API for capturing video from cameras or for reading video files and image sequences.
Here is how the class can be used:
CvCapture
is used instead of VideoCapture. OPENCV_SOURCE_CODE/samples/cpp/videocapture_starter.cpp
OPENCV_SOURCE_CODE/samples/python/video.py
OPENCV_SOURCE_CODE/samples/python/video_threaded.py
OPENCV_SOURCE_CODE/samples/python/video_v4l2.py
CV_WRAP cv::VideoCapture::VideoCapture | ( | ) |
|
explicit |
Opens a video file or a capturing device or an IP video stream for video capturing with API Preference
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
filename | it can be:
|
apiPreference | preferred Capture API backends to use. Can be used to enforce a specific reader implementation if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_IMAGES or cv::CAP_DSHOW. |
|
explicit |
Opens a video file or a capturing device or an IP video stream for video capturing with API Preference and parameters
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
The params
parameter allows to specify extra parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ...)
. See cv::VideoCaptureProperties
|
explicit |
Opens a camera for video capturing
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
index | id of the video capturing device to open. To open default camera using default backend just pass 0. (to backward compatibility usage of camera_id + domain_offset (CAP_*) is valid when apiPreference is CAP_ANY) |
apiPreference | preferred Capture API backends to use. Can be used to enforce a specific reader implementation if multiple are available: e.g. cv::CAP_DSHOW or cv::CAP_MSMF or cv::CAP_V4L. |
|
explicit |
Opens a camera for video capturing with API Preference and parameters
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
The params
parameter allows to specify extra parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ...)
. See cv::VideoCaptureProperties
|
virtual |
Default destructor
The method first calls VideoCapture::release to close the already opened file or camera.
|
virtual |
Returns the specified VideoCapture property
propId | Property identifier from cv::VideoCaptureProperties (eg. cv::CAP_PROP_POS_MSEC, cv::CAP_PROP_POS_FRAMES, ...) or one from Additional flags for video I/O API backends |
CV_WRAP String cv::VideoCapture::getBackendName | ( | ) | const |
Returns used backend API name
|
virtual |
Grabs the next frame from video file or capturing device.
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.
tutorial_kinect_openni
|
virtual |
Returns true if video capturing has been initialized already.
If the previous call to VideoCapture constructor or VideoCapture::open() succeeded, the method returns true.
|
virtual |
Opens a camera for video capturing
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
The params
parameter allows to specify extra parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ...)
. See cv::VideoCaptureProperties
true
if the file has been successfully openedThe method first calls VideoCapture::release to close the already opened file or camera.
|
virtual |
Opens a video file or a capturing device or an IP video stream for video capturing.
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
Parameters are same as the constructor VideoCapture(const String& filename, int apiPreference = CAP_ANY)
true
if the file has been successfully openedThe method first calls VideoCapture::release to close the already opened file or camera.
|
virtual |
Returns true if video capturing has been initialized already.
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
The params
parameter allows to specify extra parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ...)
. See cv::VideoCaptureProperties
true
if the camera has been successfully opened.The method first calls VideoCapture::release to close the already opened file or camera.
|
virtual |
Opens a camera for video capturing
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
Parameters are same as the constructor VideoCapture(int index, int apiPreference = CAP_ANY)
true
if the camera has been successfully opened.The method first calls VideoCapture::release to close the already opened file or camera.
|
virtual |
Stream operator to read the next video frame.
|
virtual |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
|
virtual |
Grabs, decodes and returns the next video frame.
[out] | image | the video frame is returned here. If no frames has been grabbed the image will be empty. |
false
if no frames has been grabbedThe 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()).
|
virtual |
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.
|
virtual |
Decodes and returns the grabbed video frame.
[out] | image | the video frame is returned here. If no frames has been grabbed the image will be empty. |
flag | it could be a frame index or a driver specific flag |
false
if no frames has been grabbedThe 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()).
|
virtual |
Sets a property in the VideoCapture.
propId | Property identifier from cv::VideoCaptureProperties (eg. cv::CAP_PROP_POS_MSEC, cv::CAP_PROP_POS_FRAMES, ...) or one from Additional flags for video I/O API backends |
value | Value of the property. |
true
if the property is supported by backend used by the VideoCapture instance. true
this doesn't ensure that the property value has been accepted by the capture device. See note in VideoCapture::get()
|
inline |
Switches exceptions mode
methods raise exceptions if not successful instead of returning an error code
|
static |
Wait for ready frames from VideoCapture.
streams | input video streams |
readyIndex | stream indexes with grabbed frames (ready to use .retrieve() to fetch actual frame) |
timeoutNs | number of nanoseconds (0 - infinite) |
true
if streamReady is not emptyException | Exception on stream errors (check .isOpened() to filter out malformed streams) or VideoCapture type is not supported |
The primary use of the function is in multi-camera environments. The method fills the ready state vector, grabs video frame, if camera is ready.
After this call use VideoCapture::retrieve() to decode and fetch frame data.