Linux下利用Opencv打開筆記本攝像頭問題
新建test文件夾,文件夾存在test.cpp和CMakeLists.txttest.cpp#include <iostream>
#include <string> #include <sstream> #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> #include <opencv2/videoio.hpp> using namespace cv; using namespace std; const char* keys = { "{help h usage ? | | print this message}" "{@video | | Video file, if not defined try to use webcamera}" }; int main(int argc, const char** argv) { CommandLineParser parser(argc, argv, keys); parser.about("Reading a video and camera v1.0.0"); if (parser.has("help")) { parser.printMessage(); return 0; } String videoFile = parser.get<String>(0); if (!parser.check()) { parser.printErrors(); return 0; } VideoCapture cap; if (videoFile != "") { cap.open(videoFile);// read a video file }else { cap.open(0);// read the default caera } 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); if (waitKey(30) >= 0) break; } // Release the camera or video file cap.release(); return 0; }
CMakeLists.txt
project(test) cmake_minimum_required(VERSION 2.8.7) # option to enable OpenMP; only relevant for the KCF version with the # VOT scale estimation option(WITH_OPENMP "Enable OpenMP" OFF) if(WITH_OPENMP) find_package(OpenMP REQUIRED) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}") endif(WITH_OPENMP) # add c++11 support if(CMAKE_COMPILER_IS_GNUCC) ADD_DEFINITIONS ( -std=c++11 ) endif(CMAKE_COMPILER_IS_GNUCC) # add OpenCV set(OPENCV_DIR_HINT "") if(WIN32) get_filename_component(OPENCV_DIR_PLATFORM $ENV{OPENCV_DIR} DIRECTORY) get_filename_component(OPENCV_DIR_HINT ${OPENCV_DIR_PLATFORM} DIRECTORY) endif(WIN32) set(OpenCV_STATIC OFF) find_package(OpenCV REQUIRED HINTS ${OPENCV_DIR_HINT})
編譯過程:
> cd test > g++ test.cpp -o test `pkg-config --cflags --libs opencv` > ./test
總結(jié)
以上所述是小編給大家介紹的Linux下利用Opencv打開筆記本攝像頭問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
用shell腳本和c語言將大寫字母轉(zhuǎn)成小寫的代碼
最近在學(xué)shell編程,在網(wǎng)上看到tr '[:upper:]' '[:lower:]' 可以把字符串中大寫字母轉(zhuǎn)換成小寫字母,我就在這個(gè)的基礎(chǔ)上寫了一個(gè)腳本來自己學(xué)習(xí)學(xué)習(xí)2013-08-08bash?shell?自定義函數(shù)命令持久化生效問題
這篇文章主要介紹了bash?shell?自定義函數(shù)命令持久化生效,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03Linux中shell腳本獲取當(dāng)前工作目錄的方法
今天小編就為大家分享一篇Linux中shell腳本獲取當(dāng)前工作目錄的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06shell實(shí)現(xiàn)數(shù)字打印從100到200的數(shù)
按順序打印從100到200的數(shù)的shell腳本,需要的朋友可以參考下2013-02-02linux 守護(hù)進(jìn)程詳解及建立守護(hù)進(jìn)程
這篇文章主要介紹了linux 守護(hù)進(jìn)程詳解及建立守護(hù)進(jìn)程的相關(guān)資料,需要的朋友可以參考下2017-04-04Linux Shell中curl和wget使用代理IP的方法教程
這篇文章主要給大家介紹了關(guān)于在Linux Shell中curl和wget使用代理IP的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08