当前位置: 首页 > web >正文

OpenCv实战笔记(3)基于opencv实现调用摄像头并实时显示画面

一、实现效果
在这里插入图片描述
二、实现原理

使用 OpenCV 打开摄像头,持续捕获视频帧,并在一个窗口中实时显示这些帧,直到用户按下 ESC 键退出。整体流程:打开摄像头(cv::VideoCapture)=>创建图像显示窗口(cv::namedWindow)=>循环读取视频帧=>显示帧到窗口中(cv::imshow)=>判断退出条件(cv::waitKey 检测键盘按键)=>释放资源并关闭窗口

三、参考代码

void demo() {std::cout << "Running video_processing demo..." << std::endl;cv::VideoCapture cap(0, cv::CAP_ANY);if (!cap.isOpened()) {std::cerr << "Error: Could not open camera." << std::endl;return;}cap.set(cv::CAP_PROP_FRAME_WIDTH, 1280);cap.set(cv::CAP_PROP_FRAME_HEIGHT, 720);cap.set(cv::CAP_PROP_FPS, 30);cv::namedWindow("Live", cv::WINDOW_NORMAL);cv::resizeWindow("Live", 1280, 720);cv::Mat frame;while (true) {if (!cap.read(frame)) break;if (frame.empty()) continue;cv::imshow("Live", frame);if (cv::waitKey(1) == 27) break;}cap.release();cv::destroyAllWindows();
}

欢迎关注我,一起交流!

http://www.xdnf.cn/news/4617.html

相关文章:

  • 【WEB3】区块链、隐私计算、AI和Web3.0——隐私计算(2)
  • 【计算机网络】Cookie、Session、Token之间有什么区别?
  • Angular 面试常见问题
  • maven如何搭建自己的私服(windows版)?
  • 住宅 IP 地址:数字时代的真实网络身份载体
  • Git 基础操作系列2: 本地项目上传至git仓库(gitee / gitlab / github)
  • QMK开发环境搭建指南:Eclipse和VS Code详解
  • 书法机构用的教务管理系统
  • 【Linux学习笔记】基础IO之理解文件
  • vue修改了node_modules中的包,打补丁
  • 论坛系统测试报告
  • 基于Transformer的多资产收益预测模型实战(附PyTorch实现与避坑指南)
  • OpenCV定位地板上的书
  • 中介者模式(Mediator Pattern)详解
  • 前端面经--网络通信与后端协作篇--XMLHttpRequest、axios、fetch、AbortController
  • 代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?
  • MySQL概念简介
  • C++ stl中的vector的相关用法 迭代器失效问题
  • Linux中的线程安全与线程同步详解
  • MySQL的深度分页如何优化?
  • NetSuite 销售订单折扣项目相关设置
  • 若依前后端分离项目中可以删除哪些原若依有的?
  • mysql中执行select命令的顺序
  • PE文件结构(导入表)
  • 【AI论文】
  • JavaSE核心知识点01基础语法01-05(字符串)
  • 进程与线程详细介绍
  • 如何使用 QuickAPI 连接 PostgreSQL 数据库并将PostgreSQL数据发布成API?
  • 嵌入式开发学习日志Day15
  • AI恶魔之眼使用说明书