1. 程式人生 > >linux下cmake+opencv開啟攝像頭

linux下cmake+opencv開啟攝像頭

一、必備條件:

      gcc、cmake 、opencv

1、安裝gcc: sudo apt-get install gcc

2、安裝cmake :sudo apt-get install cmake

3、安裝opencv

二、編寫CMakeLists.txt、原始檔OpenCamera.cpp

1、CMakeLists.txt

cmake_minimum_required(VERSION 3.5)
project( OpenCamera )
find_package( OpenCV REQUIRED )
add_executable(OpenCamera  OpenCamera.cpp )
target_link_libraries( OpenCamera ${OpenCV_LIBS} )

2、OpenCamera.cpp

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;

using namespace cv;


int main()
{

    Mat image;
    VideoCapture cap;


    //open camera
    cap.open(0);

    if(!cap.isOpened())
    {
	cout<<"camera open failed!"<<endl;
        return -1;
    }
    else
    {
        cout<<"Camera open success!"<<endl;
    }

    //usage
    cout<<"Print \"ESE\" key exit!"<<endl;
    char ch;
    while(1)
    {
	cap>>image;
        if(image.empty())
	{
           cout<<"Image is empty!"<<endl;
           break;
        }
        imshow("camera",image);
        ch=waitKey(30);
        if(ch==27) break;
    }

    return 0;
}

3 、編譯、生成可執行檔案

//在原始檔目錄下
mkdir build
cd build
cmake  ..
make

在build目錄下即可生成可執行檔案 OpenCamera

4、執行程式  ./OpenCamera

5、結果展示

三、總結

      近段時間剛接觸cmake,編寫CMakeLists.txt。以前都是在整合環境中寫程式碼。按一下綠色的三角形按鈕就可以執行程式,甚至都不關心可執行檔案是放置在哪裡,感覺一切都是自然而然的自動。雖然這個CMakeLists.txt比較簡單,第一次使用Vim寫程式碼,幾行程式碼,就生成了可執行檔案,感覺棒棒噠。有點理解大神們為什麼都喜歡使用linux、喜歡使用命令行了。