• Linux下使用Opencv打开笔记本摄像头


    新建test文件夹,文件夹存在test.cppCMakeLists.txt

    test.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

     


  • 相关阅读:
    在 Eclipse 中使用 JUnit4 进行单元测试
    版本控制之道使用Git
    程序员成熟的标志
    Java 编程需要注意的细节
    【netty】netty的websocketframe
    求一个数内含1个次数
    apache bench的使用
    更改centos epel源
    [linux]centos7下解决yum install mysqlserver没有可用包
    cacti的安装与配置
  • 原文地址:https://www.cnblogs.com/wangyarui/p/7265171.html
Copyright © 2020-2023  润新知