zoukankan      html  css  js  c++  java
  • 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

     


  • 相关阅读:
    Jenkins服务器磁盘空间爆满问题解决
    U3D GPU蒙皮
    关于STRUCT优化的一个点
    UNITY优化资料收集
    U3D的结构体堆分配栈分配
    【转】UGUI研究院之缓存策略让UI打开更快(三十)
    关于U3D场景烘焙的一个想法
    【摘】如果医生给你的孩子开这些药,请主动说不!
    【转】投影矩阵的推导
    Optimizing graphics performance
  • 原文地址:https://www.cnblogs.com/wangyarui/p/7265171.html
Copyright © 2011-2022 走看看