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;
}
-----------

9 comments:

  1. how to connect several external usb web cameras

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

    ReplyDelete
  3. 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
  4. شركة نقل اثاث بالدمام
    إن عملية نقل الأثاث من الأمور الصعبة التي تحتاج إلى الكثير من الجهد والكثير من الوقت ، حيث إن عملية نقل أثاث المنزل من مكان إلى آخر تحتاج إلى ترتيبات معينة وخطة محكمة كي يتم نقل أثاث المنزل بكل أمان وسلامة ولكي تقوم عزيزي العميل بنقل أثاث منزلك بأمان تام لا بد من أن تتعامل مع شركة متخصصة في مجال نقل العفش ومن الشركات التي لها الصدارة في مجال نقل الاثاث شركة نقل اثاث بالدمام حيث تتميز الشركة بأن لديها أقوى فريق عمل مدرب على أعلى مستوى من الخبرة .
    كما أن شركة نقل عفش بالدمام تهتم بـ عفش منزلك جيدًا وتحافظ عليه حتى وصوله إلى المكان المنتقل إليه كما أن الشركة لديها أقوى الأجهزة الحديثة والمميزة حيث تتميز شركة نقل اثاث بالدمام بأنها تمتلك كافة الأجهزة الحديثة والمتطورة في مجال نقل العفش ، كما أن الشركة تتميز بأن لديها سيارات خاصة ومجهزة على اعلى مستوى من الأمان لكي يتم نقل أثاث منزلك بكل أمان دون تعرضه للتلف أو الخدش كما أن شركة نقل عفش بالدمام تتميز بأن أسعارها رهيبة ومميزة حيث تمتلك أقل الأسعار وأفضل الخدمات كما أن الشركة شركة مجربة من قبل العديد من أهل مدينة الدمام حيث وثق الكثير في الشركة وأحبوا التعامل مع الشركة أكثر من مرة وذلك لأن شركة نقل اثاث بالدمام توفر كل سبل الأمان لنقل اثاث منزلك بكل سهولة ويسر وأمان ، لذلك عزيزي العميل لا تتردد في التعامل مع شركة الوعد الذهبي فتعاملك مع الشركة هو مكسب كبير لك قبل أن يكون مكسب للشركة فقط قم بالتعاون مع الشركة كي تقوم بنقل أثاث منزلك بكل سهولة .
    https://forsan-elnil.com/arabicid1/
    https://forsan-elnil.com/movers-in-dammam-500232/

    ReplyDelete