opencv 打开1080P等高分辨率摄像头时卡顿问题的解决

2023-10-31

参考:

://blog.csdn.net/lunweiwangxi3/article/details/88556911

http://blog.sina.com.cn/s/blog_9b493e7b0102xvn6.html

 

总结http://stackoverflow.com/questions/16092802/capturing-1080p-at-30fps-from-logitech-c920-with-opencv-2-4-3得出经验如下:

opencv可以捕获摄像头数据。如果要读高分辨率和高帧率,可以用如下的设置:

capture.set(CV_CAP_PROP_FPS, 30);

capture.set(CV_CAP_PROP_FRAME_WIDTH, 1920);

capture.set(CV_CAP_PROP_FRAME_HEIGHT, 1080);

如果只按照常规的读取方法帧率其实达不到30fps,所以必须对读到的视频帧进行压缩,故还需要设置:

capture.set(CV_CAP_PROP_FOURCC, CV_FOURCC('M', 'J', 'P', 'G'));

这样将视频帧压缩之后,就可以让摄像头在1080p及30fps下工作。

注意:

设置参数的顺序一定是格式、帧率、宽/高,否则不能正常工作。

代码如下:​

#include "iostream"

using namespace std;

#include "opencv2\opencv.hpp"

using namespace cv;

int main()

{

VideoCapture capture(0);

if (!capture.isOpened())

{

cout << "未发现摄像头!" << endl;

return -1;

}//检测是否成功打开摄像头

Mat frame;

capture.set(CV_CAP_PROP_FOURCC, CV_FOURCC('M', 'J', 'P', 'G'));

capture.set(CV_CAP_PROP_FPS, 30);

capture.set(CV_CAP_PROP_FRAME_WIDTH, 1920);

capture.set(CV_CAP_PROP_FRAME_HEIGHT, 1080);

while (1)

{

capture >> frame;

if (!capture.read(frame))//这个判断的必须的

break;

//中间可插入各种对图像的处理

imshow("frame", frame);

if (waitKey(30) >= 0)//刷新间隔30ms,按任意键退出

break;

}

return 0;

}//opencv2读取摄像头

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

opencv 打开1080P等高分辨率摄像头时卡顿问题的解决 的相关文章

  • 深度学习图像处理之VGG网络模型 (超级详细)

    VGG介绍 由牛津大学著名研究所VGG提出 斩获该年ImageNet竞赛中Localization Task 定位任务 第一名和Classification Task 分类任务 第二名 VGG网络的配置 VGG 16是许多模型中的主干网络
  • c#图像几何特征匹配

    using System using System Collections Generic using System Linq using System Text using System Threading Tasks using Ope
  • matlab 读取某一文件夹下的文件

    MATLAB 是一个十分强大的科学计算软件 用于各种数据分析和科学计算 在实际工作和研究过程中 我们通常将数据存储在文件中 文件存在于系统的某个目录中 如果需要读取这些文件 可以使用 MATLAB 提供的文件和文件夹操作函数 本文将介绍如何
  • R-CNN史上最全讲解

    文章目录 一 初识R CNN 网络结构 二 训练步骤 1 RP的确定 2 模型pre training 3 Fine Tunning 4 提取并保存RP的特征向量 5 SVM的训练 6 bbox regression的训练 三 测试步骤 s
  • Conditional Prompt Learning for Vision-Language Models

    本文是对CoOp方法提出的改进 CoOp由论文Learning to Prompt for Vision Language Models提出 CoOp针对CLIP模型做了改进 将人工设计的提示修改为了可学习的参数 具体来说就是 CoOp不再
  • Image Processing图像处理(对比俩张图像的差异并且在图上标注出来)

    图像处理是构建所有计算机视觉的基础 按照我的图像处理指南使用OpenCV库学习计算机视觉的基础知识 SSIM进阶 利用python openCV将图片的差异性画框展示出来 诀窍是学习如何准确地确定在 x y 坐标位置上 图像的差异在哪里 使
  • Windows下命令行及Java+Tesseract-OCR对图像进行(字母+数字+中文)识别,亲测可行

    Windows下Java Tesseract OCR对图像进行字符识别 亲测可行 1 下载tesseract ocr 中文语言包并安装 2 命令行对图片进行识别及效果图 3 Java调用Tesseart OCR 3 1 效果图 3 2 源码
  • 图像处理_Ostu算法(大律法、最大类间方差法)

    一 算法简述 Otsu算法是一种用于二值化最佳阈值的选取方法 基本原理是根据阈值T将图像中的像素点分为C1和C2两类 不断的调整阈值T之后若此时两类之间存在最大的类间方差 那么此阈值即是最佳阈值 二 算法理论 1 基础公式 1 2 3
  • Matlab导入Excel数据快速绘图

    现在使用Matalb绘图越来越多 不会这个绘图技能感觉都要被时代抛弃了 所以 本文主要是介绍怎么用Matlab导入Excel数据快速绘图 目录 一 基本使用 二 细致调节 1 颜色选项 2 形状选项 3 网格线选项 一 基本使用 事先 建议
  • 图像恢复(加噪与去噪)

    人工智能导论实验导航 实验一 斑马问题 https blog csdn net weixin 46291251 article details 122246347 实验二 图像恢复 https blog csdn net weixin 46
  • OpenCV入门【C++版】

    OpenCV基础入门 C 语言 Chapter1 读取图片 视频 摄像头 从文件读取图片 从文件读取视频 读摄像头 Chapter2 基础函数 Chapter3 调整和剪裁 Chapter4 绘制形状和文字 Chapter5 透视变换 Ch
  • 图像二值化

    文章目录 1 图像二值化 2 图像二值化方法及Python实现 2 1 简单二值法 2 2 平均值法 2 3 双峰法 2 4 OTSU法 3 opencv python中二值化方法的应用 3 1 简单阈值分割 Simple Threshol
  • PR-RL:Portrait Relighting via Deep Reinforcement Learning

    文章目录 Title PR RL Portrait Relighting via Deep Reinforcement Learning 1 Article 1 1 Abstract and Introduction 1 2 Conclus
  • 2021全国电设(F题)openmv的图像识别之数字识别

    基于openmv的图像识别 通过参加全国电子设计大赛F题总结出openmv4的数字识别 其它版本暂时没试过 欢迎交流 openmv简介 OpenMV是一个开源 低成本 功能强大的机器视觉模块 以STM32F427CPU为核心 集成了OV77
  • EPI distortion correction形变矫正, eddy, fieldmap等五种不同方法

    EPI distortion correction形变矫正 1 topup eddy 2 fieldmap eddy 2 1 对mag做去脑壳 2 2 基于去过脑壳的mag 1volume bet nii gz数据 对fieldmap进行预
  • cv2.minAreaRect()

    功能 求出在点集下的最小面积矩形 输入 格式 points array shape n 1 2 解释 其中points是点集 数据类型为ndarray array x1 y1 x2 y2 xn yn 输出 格式 rect tuple x y
  • 基于TensorFlow2实现的宠物识别系统(爬虫、模型训练和调优、模型部署)

    目录 开发环境 0 项目准备 1 数据集准备 2 数据预处理 3 构建模型 4 模型训练及验证 5 模型部署 6 项目地址 开发环境 作者 嘟粥yyds 时间 2023年8月25日 集成开发工具 PyCharm Professional 2
  • 图像特征提取技术

    目 录 前 言 基于颜色的特征提取 1 颜色空间 2 直方图以及特征提取 基于纹理的特征提取 1 灰度共生矩阵 2 tamura纹理 基于深度神经网络的图像处理 前 言 图像特征提取属于图像分析的范畴 是数字图像处理的高级阶段 本文将从理论
  • ETC纹理压缩

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门
  • 图像分割-Grabcut法

    版权声明 本文为博主原创文章 转载请在显著位置标明本文出处以及作者网名 未经作者允许不得用于商业目的 本文的C 版本请访问 图像分割 Grabcut法 C CSDN博客 GrabCut是一种基于图像分割的技术 它可以用于将图像中的前景和背景

随机推荐

  • 三数论大小(引用)

    题目描述 输入三个整数 然后按照从大到小的顺序输出数值 要求 定义一个函数 无返回值 函数参数是三个整数参数的引用 例如int a int b int c 在函数内通过引用方法来对三个参数进行排序 主函数调用这个函数进行排序 要求 不能直接
  • 网络爬虫数据解析的四种方式之XPath

    文章目录 前言 四种数据解析方式 数据解析之XPath XPath介绍 在浏览器中安装XPath helper插件 XPath使用方法 通过浏览器测试插件是否安装成功 通过python代码实现用XPath来解析数据 前言 快期末了 有个数据
  • Linux学习之VMware虚拟机安装

    前言 今天是癸卯年正月十五元宵节 在此祝大家元宵快乐 这篇文章主要给大家介绍安装VMware虚拟机的步骤 话不多说 开始安装 安装准备 VWware workstation rhel 8 2 x86 64 dvd iso 64 位操作系统
  • Bash 脚本

    什么是 Bash 简介 Bash GNU Bourne Again Shell 是一个为 GNU 计划编写的 Unix shell 它是许多 Linux 平台默认使用的 shell shell 是一个命令解释器 是介于操作系统内核与用户之间
  • 广度优先搜索(邻接矩阵)

    广度优先搜索 邻接矩阵 1 1一 用数组来存放顶点 vexs 0 A vexs 1 B vexs 2 C vexs 3 D vexs 4 E vexs 5 F vexs 6 G vexs 7 H vexs 8 I 1 2 用邻接矩阵来表示边
  • webrtc 看不到对方画面是什么原因_WebRTC 细节探究

    探究 从了解到理解 从理解到看见 写在前面 WebRTC 的使用并不复杂 可是其中的流程细节还是挺值的深挖的 每个人脑回路不一样 感到困惑的点可能也不一样 这篇主要讲了Signaling这个过程的一些小细节 如果有错欢迎指出一起讨论 深究
  • Windows系统配置maven环境

    windows安装maven 我们为什么要配置maven呢 Maven是统一集中管理好所有的依赖包 不需要程序员再去寻找 Maven项目会有一个 pom xml文件 在这个文件里面 只要你添加相应配置 他就会自动帮你下载相应jar包 不用你
  • 4.5 服务器上的 Git - Git 守护进程

    4 5 服务器上的 Git Git 守护进程 版本说明 版本 作者 日期 备注 0 1 loon 2019 3 25 初稿 目录 文章目录 4 5 服务器上的 Git Git 守护进程 版本说明 目录 Git 守护进程 Git 守护进程 接
  • redis订阅发布介绍

    redis订阅发布 redis发布订阅 pub sub 是一种消息通信模式 订阅者 pub 发送消息 订阅者 sub 接受消息 比如生活中的微信订阅公众号 微博关注账号 redis客户端可以订阅任意数量的频道 这分为三个部分 消息发送者 频
  • 基于人工智能算法实现AI足球比赛

    相关资料 http t csdn cn 1XSne 实现目标 目前进展 主要用到就是射门概率那块 用随机数 能力值来控制 include
  • 周志华《Machine Learning》学习笔记(9)--EM算法

    上篇主要介绍了贝叶斯分类器 从贝叶斯公式到贝叶斯决策论 再到通过极大似然法估计类条件概率 贝叶斯分类器的训练就是参数估计的过程 朴素贝叶斯则是 属性条件独立性假设 下的特例 它避免了假设属性联合分布过于经验性和训练集不足引起参数估计较大偏差
  • firefly架构说明

    Firefly是免费 开源 稳定 快速扩展 能 热更新 的分布式游戏服务器端框架 采用Python编写 基于Twisted框架开发 它包括了开发框架和数据库缓存服务等各种游戏服务器基础服务 节省大量游戏开发的工作时间 真正做到让使用者把精力
  • 线性时间内从一个数组中找出第K个最小的元素——编程珠玑

    线性时间内从一个数组中找出第K个最小的元素 编程珠玑 题目 编写程序 在O n 时间内从数组x 0 n 1 中找出第k个最小的元素 算法中可以对x中的元素进行排序 思路 快速排序选择一个pivot对数组进行划分 左边小于pivot 右边大于
  • easyExcel 填写导出转换日期格式

    在使用easyExcel 填写导出的时候 遇到Date类型的字段填写在excel 显示的单元格的格式为自定义格式 原本该单元格格式设置了边框 居中 填写导出后的居然没有加边框 也没有居中 按照源码 写上一个Date转换类 实现Convert
  • 了解Spring的变迁从Spring3到Spring5

    随着互联网技术的发展 Spring也在不断的进化 从最早轻量级的支持J2EE到现在对高并发 多线程异步程序的支持 spring也不断的更新自己走在技术的最前沿 我们先来从Spring3开始看看spring的发展变迁 Spring3 Spri
  • java 控制 区域投屏,Scrcpy投屏原理浅析-设备控制篇

    起初我真的想过自己单独写一套来着 后来发现时间真的不够 所以有了对scrcpy源码的浅析 服务端我就用scrcpy现有的了 客户端scrcpy采用ffmpeg sdl2 0进行了跨平台的播放 我准备用Flutter重构客户端部分 Scrcp
  • SVN客户端安装及使用说明

    SVN客户端安装及使用说明 一 SVN客户端与语言包的安装 1 下载TortoiseSVN 2 安装TortoiseSVN 双击安装包 进入下一步 如图 3 点击Next 进入下一步 如图 4 选择接受 然后点击Next 进入下一步 如图
  • Python中逗号的三种作用

    最近研究python 遇到个逗号的问题 一直没弄明白 今天总算搞清楚了 1 逗号在参数传递中的使用 这种情况不多说 没有什么不解的地方 就是形参或者实参传递的时候参数之间的逗号 例如def abc a b 或者abc 1 2 2 逗号在类型
  • Python学习笔记(五)—LOOP 循环

    个人认为Python基础学习直到LOOP才算真正开始 循环有While do while 和for 比如while 我们要输出100条 you are my sunshine 可以表达如下 count 0 while count lt 10
  • opencv 打开1080P等高分辨率摄像头时卡顿问题的解决

    参考 blog csdn net lunweiwangxi3 article details 88556911 http blog sina com cn s blog 9b493e7b0102xvn6 html 总结http stacko