1. 程式人生 > >OpenCV入門學習之讀取usb攝像頭影象,實時顯示

OpenCV入門學習之讀取usb攝像頭影象,實時顯示

首先,新建一個.cpp的源程式檔案,例如,
gedit test.cpp

在該檔案中新增以下程式:

#include <opencv2/core/core.hpp>    
#include <opencv2/highgui/highgui.hpp>    
using namespace cv;  
      
int main(int argc, char** argv) {
    cvNamedWindow("視訊");

    CvCapture* capture = cvCreateCameraCapture(1);
    IplImage* frame;

    while(1) {
        frame = cvQueryFrame(capture);
        if(!frame) break;
        cvShowImage("視訊", frame);

        char c = cvWaitKey(50);
        if(c==27) break;
    }

    cvReleaseCapture(&capture);
    cvDestroyWindow("視訊");
    return 0;
}
儲存退出。 編譯連結生成可執行檔案。
 g++ test.cpp -o test -I /usr/local/include/opencv -I /usr/local/include/opencv2 -L /usr/local/lib/*.so

插入攝像頭,執行程式

./test
大功告成!

cvCreateCameraCapture(),初始化從攝像頭中獲取視訊

CvCapture* cvCreateCameraCapture( int index );

如果只有一個攝像機時,引數值取0。當引數被設定為-1時,OpenCV會開啟一個視窗讓使用者選擇需要使用的攝像機。

cvQueryFrame()從攝像頭或者檔案中抓取一幀,然後解壓並返回這一幀。返回的影象不可以被使用者釋放或者修改。

IplImage* cvQueryFrame( CvCapture* capture );

cvShowImage(),用來在指定視窗中顯示影象。

void cvShowImage( const char* name, const CvArr* image );

相關推薦

no