zoukankan      html  css  js  c++  java
  • Opencv VideoCapture实时捕捉摄像头信息

    #include "opencv2/highgui/highgui.hpp"
    #include <iostream>
    
    using namespace cv;
    using namespace std;
    
    int main(int argc, char* argv[])
    {
        VideoCapture cap(0); // open the video camera no. 0
    
        if (!cap.isOpened())  // if not success, exit program
        {
            cout << "Cannot open the video cam" << endl;
            return -1; 
        }
    
       double dWidth = cap.get(CV_CAP_PROP_FRAME_WIDTH); //get the width of frames of the video
       double dHeight = cap.get(CV_CAP_PROP_FRAME_HEIGHT); //get the height of frames of the video
    
        cout << "Frame size : " << dWidth << " x " << dHeight << endl;
    
        namedWindow("MyVideo",CV_WINDOW_AUTOSIZE); //create a window called "MyVideo"
    
        while (1)
        {
            Mat frame;
    
            //bool bSuccess = cap.read(frame); // read a new frame from video
    
            // if (!bSuccess) //if not success, break loop
            //{
            //     cout << "Cannot read a frame from video stream" << endl;
            //     break;
            //}
            cap>>frame; 
            imshow("MyVideo", frame); //show the frame in "MyVideo" window
    
            if (waitKey(30) == 27) //wait for 'esc' key press for 30ms. If 'esc' key is pressed, break loop
           {
                cout << "esc key is pressed by user" << endl;
                break; 
           }
        }
        return 0;
    
    }

    另外注明下,本人曾经想用手机来充当摄像头,利用DroidCam软件,但是貌似Opencv不支持这种方式,虽然运行代码后能够找到摄像头,但是始终无法正常显示图像,后来换了一个摄像头就完全可以正常显示了。不知道有哪位大大给解释下

  • 相关阅读:
    学习java集合LinkedHastSet
    学习java,equals方法
    学习java,入门语言java的感概
    学习java哈希值,java入门编程语言
    学习java集合HashSet
    学习java集合set集合
    学习java集合LinkedList
    学习java集合Arraylist
    学习java集合list集合
    学习Java数据结构(入门选Java)
  • 原文地址:https://www.cnblogs.com/xlturing/p/3581044.html
Copyright © 2011-2022 走看看