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

发布时间 - 2026-01-11 02:35:26    点击率:

新建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打开笔记本摄像头问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# linux  # opencv  # 笔记本摄像头  # 详解使用JavaCV/OpenCV抓取并存储摄像头图像  # opencv实现读取视频保存视频  # Opencv实现视频播放与进度控制  # opencv实现图片与视频中人脸检测功能  # Opencv实现读取摄像头和视频数据  # 小编  # 在此  # 给大家  # 所述  # 给我留言  # 感谢大家  # 疑问请  # 有任何  # parser  # CommandLineParser  # argv  # Reading  # camera  # argc  # file  # Video 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  高端云建站费用究竟需要多少预算?  简历在线制作网站免费版,如何创建个人简历?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  利用JavaScript实现拖拽改变元素大小  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Mybatis 中的insertOrUpdate操作  Laravel如何优化应用性能?(缓存和优化命令)  ,怎么在广州志愿者网站注册?  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  新三国志曹操传主线渭水交兵攻略  详解Android图表 MPAndroidChart折线图  Laravel如何实现模型的全局作用域?(Global Scope示例)  如何在IIS7中新建站点?详细步骤解析  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Android中AutoCompleteTextView自动提示  *服务器网站为何频现安全漏洞?  如何挑选高效建站主机与优质域名?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel如何实现文件上传和存储?(本地与S3配置)  Laravel如何配置和使用缓存?(Redis代码示例)  使用C语言编写圣诞表白程序  简单实现jsp分页  JavaScript如何实现类型判断_typeof和instanceof有什么区别  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  如何用PHP快速搭建高效网站?分步指南  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  详解Android中Activity的四大启动模式实验简述  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Laravel如何记录自定义日志?(Log频道配置)  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  如何正确选择百度移动适配建站域名?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何在IIS中新建站点并配置端口与物理路径?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  制作电商网页,电商供应链怎么做?  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  如何在不使用负向后查找的情况下匹配特定条件前的换行符  实现点击下箭头变上箭头来回切换的两种方法【推荐】  C++用Dijkstra(迪杰斯特拉)算法求最短路径  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  Swift中switch语句区间和元组模式匹配  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  Laravel如何实现多对多模型关联?(Eloquent教程)  javascript中的try catch异常捕获机制用法分析  打造顶配客厅影院,这份100寸电视推荐名单请查收