Capture Video from Camera

class VideoCapture - Class for video capturing from video files or cameras.

bool VideoCapture::open(const string& filename) // filename – name of the opened video file
bool VideoCapture::open(int device) // device – id of the opened video capturing device (i.e. a camera index)
bool VideoCapture::isOpened() // Returns true if video capturing has been initialized already
void VideoCapture::release() // Closes video file or capturing device
bool VideoCapture::grab() // Grabs the next frame from video file or capturing device
bool VideoCapture::retrieve(Mat& image, int channel=0) // Decodes and returns the grabbed video frame
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.
VideoCapture& VideoCapture::(operator)>>(Mat& image) // Grabs, decodes and returns the next video frame
double VideoCapture::get(int propId) // Returns the specified VideoCapture property
Parameters: 
       propId – Property identifier. It can be one of the following:
  • CV_CAP_PROP_POS_MSEC Current position of the video file in milliseconds or video capture timestamp.
  • CV_CAP_PROP_POS_FRAMES 0-based index of the frame to be decoded/captured next.
  • CV_CAP_PROP_POS_AVI_RATIO Relative position of the video file: 0 - start of the film, 1 - end of the film.
  • CV_CAP_PROP_FRAME_WIDTH Width of the frames in the video stream.
  • CV_CAP_PROP_FRAME_HEIGHT Height of the frames in the video stream.
  • CV_CAP_PROP_FPS Frame rate.
  • CV_CAP_PROP_FOURCC 4-character code of codec.
  • CV_CAP_PROP_FRAME_COUNT Number of frames in the video file.
  • CV_CAP_PROP_FORMAT Format of the Mat objects returned by retrieve() .
  • CV_CAP_PROP_MODE Backend-specific value indicating the current capture mode.
  • CV_CAP_PROP_BRIGHTNESS Brightness of the image (only for cameras).
  • CV_CAP_PROP_CONTRAST Contrast of the image (only for cameras).
  • CV_CAP_PROP_SATURATION Saturation of the image (only for cameras).
  • CV_CAP_PROP_HUE Hue of the image (only for cameras).
  • CV_CAP_PROP_GAIN Gain of the image (only for cameras).
  • CV_CAP_PROP_EXPOSURE Exposure (only for cameras).
  • CV_CAP_PROP_CONVERT_RGB Boolean flags indicating whether images should be converted to RGB.
  • CV_CAP_PROP_WHITE_BALANCE Currently not supported
  • CV_CAP_PROP_RECTIFICATION Rectification flag for stereo cameras (note: only supported by DC1394 v 2.x backend currently)

bool VideoCapture::set(int propId, double value) // Sets a property in the VideoCapture

Parameters:
  • propId
    • CV_CAP_PROP_POS_MSEC Current position of the video file in milliseconds.
    • CV_CAP_PROP_POS_FRAMES 0-based index of the frame to be decoded/captured next.
    • CV_CAP_PROP_POS_AVI_RATIO Relative position of the video file: 0 - start of the film, 1 - end of the film.
    • CV_CAP_PROP_FRAME_WIDTH Width of the frames in the video stream.
    • CV_CAP_PROP_FRAME_HEIGHT Height of the frames in the video stream.
    • CV_CAP_PROP_FPS Frame rate.
    • CV_CAP_PROP_FOURCC 4-character code of codec.
    • CV_CAP_PROP_FRAME_COUNT Number of frames in the video file.
    • CV_CAP_PROP_FORMAT Format of the Mat objects returned by retrieve() .
    • CV_CAP_PROP_MODE Backend-specific value indicating the current capture mode.
    • CV_CAP_PROP_BRIGHTNESS Brightness of the image (only for cameras).
    • CV_CAP_PROP_CONTRAST Contrast of the image (only for cameras).
    • CV_CAP_PROP_SATURATION Saturation of the image (only for cameras).
    • CV_CAP_PROP_HUE Hue of the image (only for cameras).
    • CV_CAP_PROP_GAIN Gain of the image (only for cameras).
    • CV_CAP_PROP_EXPOSURE Exposure (only for cameras).
    • CV_CAP_PROP_CONVERT_RGB Boolean flags indicating whether images should be converted to RGB.
    • CV_CAP_PROP_WHITE_BALANCE Currently unsupported
    • CV_CAP_PROP_RECTIFICATION Rectification flag for stereo cameras (note: only supported by DC1394 v 2.x backend currently)
  • value – Value of the property.

Example 1:

-----------
#include "opencv2/opencv.hpp"
using namespace cv;

int main(int, char**)
{
    VideoCapture cap(0); // open the default camera
    if(!cap.isOpened())  // check if we succeeded
        return -1;

    namedWindow("Video",1);
    while(1)
    {
        Mat frame;
        cap >> frame;         // get a new frame from camera
        imshow("Video", frame);

        // Press 'c' to escape
        if(waitKey(30) == 'c') break;
    }
    return 0;
}
-----------

Example 2:

-----------
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
using namespace cv;

int main( int argc, const char** argv )
{
    CvCapture* capture;
    Mat frame;
    
    // Read the video stream
    capture = cvCaptureFromCAM( -1 );
    namedWindow("Video",CV_WINDOW_AUTOSIZE);
    if( capture )
    {
        while( true )
        {
            frame = cvQueryFrame( capture );
            imshow("Video",frame);

            // Press 'c' to escape
            int c = waitKey(10);
            if( (char)c == 'c' ) { break; }
        }
    }
    return 0;
}
-----------

6 comments:

  1. how to connect several external usb web cameras

    ReplyDelete

  2. هناك بعض الناس الذين يحبون لتنظيف منازلهم شركة تنظيف بالرياض ، في الواقع هناك بعض الناس الذين هم الهوس حول هذا الموضوع. في حين أننا جميعا شركة نظافة بالرياض ربما نعرف واحد أو اثنين من هؤلاء الناس نحن ربما نعرف أكثر بكثير من معظم الناس الذين يكرهون التنظيف.
    شركة تنظيف بالرياض
    هناك 3 خيارات مفتوحة لكم إذا كنت تقع ضمن هذه الفئة الأخيرة من الناس شركة تنظيف . أولا، يمكنك دفع شخص آخر ليأتي وتنظيف بانتظام منزلك ولكن الكثير من الناس لا يستطيع ببساطة هذا الخيار افضل شركة تنظيف بالرياض الخيار الثاني هو الحصول على وحصى أسنانك ومجرد الحصول عليه القيام به ولكن أكره كل دقيقة منه. الخيار النهائي هو إيجاد طريقة لجعل القيام تنظيف نفسك أكثر متعة.

    إذا كنت تريد شركة تنظيف بالرياض رخيصة في منزلك ثم يجب عليك معرفة على وجه التحديد ما تحتاجه للبدء في ذلك شركة تنظيف بالرياض مجربة مجربة كنت تفضل للتأكد من أن منطقة السجاجيد المنطقة في منزلك هي كما نظيفة تماما كما يمكن أن يكون شركة شركة نظافة بالرياض وليس التمسك مجرد عن أي الأوساخ والحطام الذي يمكن
    شركة تنظيف هذا هو السبب في الاستفادة من المنتجات العضوية لغسل هذا النوع من السجاد شركة تنظيف بالرياض ينصح عندما يأتي الوق

    ReplyDelete
  3. الكثير منا يبجث عن افضل شركه لتنظيف منزله وتتوافر لديها كل الامكانيات الحديثه التى قد تساعدك على الحصول نظافه لبيتك نموذجيه وبافضل واحدث المعدات وبطرق عصريه حديثه بعيده كل البعد عن الطرق التقليديه والتى يمكنها ان تسبب لنا المشاكل لذا قررت ان تبحث عن شركة تنظيف شركة تنظيف بجده مميزه بافضل واحدث الامكانيات فكل ماعليك هوا الاستعانه بافضل شركة تنظيف فى المملكه العربيه السعوديه الا وهيا شركة تيم كلين المتخصصه فى تنظيف المنازل والفلل والشقق والبيوت والقصور والوجهات والشركات واى مكان قد نتواجد به حيث ان شركتنا تقدم خدمات التنظيف بالشكل الصحيح وبالاساليب الحديثه العصريه التى توفر عليك عناء التعب وكذلك الوقت والجهد المبذول فى كافة اعمال التنظيف
    شركة تنظيف بالرياض
    تقدم شركتنا خدمة تنظيف شقق بشكل رائع ومميز جدا
    وبما ان الشقق من الانشطه الرئيسيه فى اعمال التنظيف للشركه نههتم دائما بعمل تنظيف دورى لها وبشكل مستمر ونوفر لها افضل المعدات الحديثه ومواد التنظيف عالية الجودة حتى نجعل البيت خالى تمام من اى امراض واى غبار واى جراثيم فى بيتك
    خدمات تنظيف للمنازل شركة تنظيف خزانات بجده
    لاشك ان تنظيف المنازل من اهم الامور الضروريه التى يجب علينا ان نفكر فى كيفة تنيظيفها بشكل جيد وباسلوب حديث ومتقن جدا
    وفى تنظيف المنازل سنعرض عليكم باختصار قائمه باهم اعمالنا فى مجال التنظيف
    • تنظيف للحمامات وكذلك غسل المراه وزجاج وكل الاسطح
    • نعمل على تنظيف للمطابخ وتنظيف وغسل الثلاجات وازالة اى من القمامه الموجوده
    • تنظيف كل الغرف والممرات والقاعات
    • نظافه لكل الاغطيه للارضيات والجدران ايضا شركة تسليك مجارى بالدمام
    • تنظيف شامل لكل الواجهات الزجاجيه وكذلك واجهات الحجر
    نهتم ايضا بنظافة الفلل ونعمل على تنظيفها بشكل ممتاز جدا

    ReplyDelete
  4. Trung tâm đào tạo kế toán tổng hợp Tại cầu giấy
    Trung tâm đào tạo kế toán tổng hợp Tại từ liêm
    Trung tâm đào tạo kế toán tổng hợp Tại thanh xuân
    Trung tâm đào tạo kế toán tổng hợp Tại hà đông
    Trung tâm đào tạo kế toán tổng hợp Tại long biên
    Trung tâm đào tạo kế toán tổng hợp Tại nguyễn chính thanh đống đa
    Trung tâm đào tạo kế toán tổng hợp Tại minh khai hai bà trưng
    Trung tâm đào tạo kế toán tổng hợp Tại bắc ninh
    Trung tâm đào tạo kế toán tổng hợp Tại hải phòng
    Trung tâm đào tạo kế toán tổng hợp Tại tphcm
    Trung tâm đào tạo kế toán tổng hợp Tại quận 3
    Trung tâm đào tạo kế toán tổng hợp Tại thủ đức
    Trung tâm đào tạo kế toán tổng hợp Tại đà nẵng
    Trung tâm đào tạo kế toán tổng hợp Tại biên hòa
    Trung tâm đào tạo kế toán tổng hợp Tại đồng nai
    Trung tâm đào tạo kế toán tổng hợp Tại nam định
    Trung tâm đào tạo kế toán tổng hợp Tại thái bình
    Trung tâm đào tạo kế toán tổng hợp Tại bắc giang
    Trung tâm đào tạo kế toán tổng hợp Tại vĩnh phúc
    Trung tâm đào tạo kế toán tổng hợp Tại thái nguyên
    Trung tâm đào tạo kế toán tổng hợp Tại quảng ninh
    Trung tâm đào tạo kế toán tổng hợp Tại hải dương
    Trung tâm đào tạo kế toán tổng hợp Tại hưng yên
    Trung tâm đào tạo kế toán tổng hợp Tại hà nam
    Trung tâm đào tạo kế toán tổng hợp Tại ninh bình
    Trung tâm đào tạo kế toán tổng hợp Tại nghệ an
    Trung tâm đào tạo kế toán tổng hợp Tại vũng tàu

    ReplyDelete
  5. When i use this code or any other video capture code opencv/visualstudio continuously opens new windows for every frame of the video... Would you by any chance know how to fix this?

    ReplyDelete