Linux下利用Opencv打开笔记本摄像头问题

 更新时间:2017年08月01日 10:36:28   作者:王亚蕊  
这篇文章主要介绍了Linux下利用Opencv打开笔记本摄像头问题,需要的朋友可以参考下

新建test文件夹,文件夹存在test.cppCMakeLists.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

总结

以上所述是小编给大家介绍的Linux下利用Opencv打开笔记本摄像头问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Shell中的for循环总结

    Shell中的for循环总结

    这篇文章主要介绍了Shell中的for循环总结,本文讲解了shell中for循环用法、shell下for循环的几种方法等内容,需要的朋友可以参考下
    2015-05-05
  • shell实现目录增量备份的示例代码

    shell实现目录增量备份的示例代码

    本文主要介绍了shell实现目录增量备份的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • shell实现四则运算简单方法

    shell实现四则运算简单方法

    在刚刚学习写shell 批处理时候,进行逻辑运算中,少不了需要进行基础的:四则运算,这里说说在linux shell 里面简单的实现方法
    2014-03-03
  • Bash脚本中括号和反引号的使用

    Bash脚本中括号和反引号的使用

    我们经常需要引用变量或者命令的执行结果来作为文件的名字或者日志的输出,本文主要介绍了Bash脚本中括号和反引号的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • awk基础知识小结

    awk基础知识小结

    awk基础知识小结,方便学习awk的朋友
    2013-02-02
  • Shell实现日期的获取、设置和延时操作

    Shell实现日期的获取、设置和延时操作

    本文主要介绍了Shell实现日期的获取、设置和延时操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 使用crontab每隔1分钟执行一个命令行脚本

    使用crontab每隔1分钟执行一个命令行脚本

    这篇文章主要介绍了使用crontab每隔1分钟执行一个命令行脚本,文末介绍了crontab中如何设置每30秒执行一次任务,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • shell wait等待命令的具体使用

    shell wait等待命令的具体使用

    本文主要介绍了shell wait等待命令的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • shell进阶awk命令编排字段使用详解

    shell进阶awk命令编排字段使用详解

    这篇文章主要为大家介绍了shell进阶awk命令编排字段使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • shell周期差量备份文件夹的实现代码

    shell周期差量备份文件夹的实现代码

    这篇文章主要介绍了shell周期差量备份文件夹的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论