qt开发使用camera类获取摄像头信息并拍照保存

2023-11-12

首先是UI布局
在这里插入图片描述
在pro文件中添加两个类

QT += multimedia
QT += multimediawidgets

然后我们需要包含几个摄像头使用的头文件并创建摄像头的对象

#include <QCamera>
#include <QCameraInfo>
#include <QCameraViewfinder>
#include <QCameraImageCapture>
QCamera* m_camera;                      // 摄像头
QCameraViewfinder * m_viewFinder;       // 取景
QCameraImageCapture* m_imageCaputer;    // 截图

然后编写初始化函数,将电脑上扫描到的摄像头设备添加到combox中,并默认打开第一个获取到的摄像头将画面显示在widget中

    // 遍历检测到的摄像头
    foreach (const QCameraInfo& info, QCameraInfo::availableCameras()) {
            m_camera = new QCamera(info);
            // qDebug()<<info.description()<<info.deviceName();
            ui->comboBox->addItem(info.deviceName());
    }
    //取景框类
    m_viewFinder = new QCameraViewfinder();
    m_camera->setViewfinder(m_viewFinder);
    QVBoxLayout *layout=new QVBoxLayout(ui->widget);
    layout->addWidget(m_viewFinder);
    
    //图像录制类
    m_imageCaputer = new QCameraImageCapture(m_camera);
    //打开摄像头
    m_camera->start();

然后编写拍照按钮的函数

    //设置为拍照模式
    m_camera->setCaptureMode(QCamera::CaptureStillImage);
    //对相机锁定(异步操作)
    m_camera->searchAndLock();
    //拍照并且把照片保存到这个路径中
    m_imageCaputer->capture("C:\\Users\\kaishuibaicai\\Desktop\\camera\\camera");
    //解锁
    m_camera->unlock();

这里需要注意的是电脑上没有摄像头的话程序会直接异常结束,这里是因为我们初始化时候不管我们的对象有没有检测到摄像头都直接打开,在没有的情况下打开肯定是会崩溃的。

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

qt开发使用camera类获取摄像头信息并拍照保存 的相关文章

  • 如何使用 Qt Test 控制 QFileDialog?

    我有两个问题 我怎样才能访问QFileDialog并使用 Qt Test 模块在 文件名 字段中写入文件的路径 我这么问是因为我正在 Qt 中开发一些 GUI 测试 现在我需要打开一个文本文件 以下代码创建QFileDialog并获取文件路
  • 我的 QSqlQueryModel 不在列表视图中显示数据

    我正在玩 QSqlQueryModel 但我现在完全陷入困境 我一整天都在寻找解决方案 但到目前为止还没有运气 我所做的工作是它从我的 sqlite 数据库中提取数据 但由于某种原因我无法在列表视图中显示它 我的角色名似乎不存在 对于我从数
  • 调整 QML 图像显示尺寸

    我有一个带有嵌套的 QML 窗口RowLayout 在内排我有两个图像 来源 png这些图像的文件 故意 相当大 当我尝试设置height这些图像上的属性使它们变小 但它们仍然被画得很大 Desired Appearance Actual
  • setContextProperty 和对象的 setProperty 之间的区别

    我现在真的很困惑 有什么区别 QQmlApplicationEngine engine engine rootContext setContextProperty myObject userData and object gt setPro
  • 如何获取 QIcon 的文件/资源​​路径

    假设我做了这样的事情 QIcon myIcon resources icon ico 我稍后如何确定该图标的路径 例如 QString path myIcon getPath 问题是 没有getPath 会员 我找不到类似的东西 但肯定有办
  • qt项目如何设置安装路径

    我正在寻找与 qmake configure prefix 等效的内容 基本上 我想覆盖默认的安装 部署目录 这是如何用命令行 qmake 指定的 我还使用 QtCreator 构建了很多 gui 项目 并且我想知道如何在 QtCreato
  • 在 QtCreator 中将 OpenCV 2.3 与 Qt 结合使用

    随着 OpenCV 2 3 版本终于发布 我想在我的系统上编译并安装这个最新版本 由于我经常使用 Qt 和 QtCreator 我当然希望能够在我的 Qt 项目中使用它 我已经尝试了几种方法几个小时 但总是出现错误 第一次尝试 使用WITH
  • 当 QML 对象不可见时防止 QML 属性绑定?

    我正在开发一个具有大量属性绑定的 QML 应用程序 数百个对象被跟踪并以不同的形式显示 例如 Qt3D QCanvas 当我在应用程序的单独页面上时 x y 位置和相对大小的属性绑定仍在发生 我怎样才能阻止他们 我知道我可以根据属性是否可视
  • 如何在 Qt-Embedded 中(正确)输出多语言文本?

    我的目标系统是 linux 3 3 7 Qt Embedded 开源版 4 8 Droid 字体 取自 fonts droid 20111207 git 1 all deb Debian 软件包并复制到 usr lib fonts目录 主要
  • Qt程序部署到多平台,如何?

    我是 Qt 编程新手 我想开发一个程序 我想在 Windows Linux ubuntu 和 Mac 上运行 听说Qt支持多平台应用程序开发 但我的问题是 在我部署或编译后 任何 Qt 库都需要在 Ubuntu 中运行这个应用程序吗 如果您
  • 有没有办法在没有 QApplication::exec() 的情况下使用 Qt?

    有没有一种安全的方法可以在不调用 QApplication exec 的情况下使用 Qt 我有许多不同的对象正在对多个资源执行长期进程 至少其中一个正在与 Web 应用程序服务器进行通信 我正在制作一个 GUI 应用程序 提示用户在正确的时
  • 程序意外完成 - QT Creator

    我正在尝试使用 QT Creator 使用 QT 框架开发 GUI 控制台应用程序 我使用的是Windows XP 我安装了QT 4 8 3和mingw 两者均已安装 没有任何错误 然后我安装了QT Creator QT 版本 路径中的 Q
  • 如何在按下托盘图标菜单操作时执行功能?

    int main int argc char argv QApplication oApp argc argv QAction action1 QMenu menu QSystemTrayIcon TrayIcon QIcon favico
  • 当我尝试构建 Qt 4.7.1 静态库时,“找不到 -ljscore”

    我尝试从最新的源构建静态 Qt 库 但出现以下错误 usr bin ld cannot find ljscore collect2 ld returned 1 exit status 如何解决这个问题呢 这是 Qt 构建系统中自 4 7 0
  • QtCreator 调试暂停停在代码而不是汇编处

    如何配置 QtCreator 以便在调试并按下暂停时它会显示当前正在处理的代码 现在显示汇编 无法在任何地方找到有关此问题的答案 我使用的是 Windows 7 我在 Ubuntu 16 04 中使用 Qt Creator 4 2 2 时遇
  • 如何在 Qt 中以编程方式制作一条水平线

    我想弄清楚如何在 Qt 中制作一条水平线 这很容易在设计器中创建 但我想以编程方式创建一个 我已经做了一些谷歌搜索并查看了 ui 文件中的 xml 但无法弄清楚任何内容 ui 文件中的 xml 如下所示
  • 如何在 QTabWidget Qt 中展开选项卡

    我有一个QTabWidget像这个 但我想展开选项卡以 填充 整个小部件宽度 如下所示 我怎样才能做到这一点 我在用Qt 5 3 2 and Qt 创建者 3 2 1 Update 我尝试使用setExpanding功能 ui gt myT
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • 使用 QtWebEngine 将 C++ 对象暴露给 Qt 中的 Javascript

    使用 QtWebkit 可以通过以下方式将 C 对象公开给 JavascriptQWebFrame addToJavaScriptWindowObject如中所述https stackoverflow com a 20685002 5959
  • Qt 布局,在小部件大小更改后调整到最小大小

    基本上我有一个QGridLayout里面有一些小部件 最重要的是 2 个标签 我用它们将图像绘制到屏幕上 好吧 如果用户愿意 他可以更改传入图像的分辨率 从而强制标签调整大小 我们假设标签的初始大小是320x240 用户将 VideoMod

随机推荐

  • .gitignore文件不生效解决方法

    创建git仓库 忘记创建 gitignore 文件 导致提交的时候检测出一堆 DS Store node modules 等无需提交的文件 这个时候添加 gitignore 文件 如果是还没有提交 重新打开下编辑器就好了 编辑器是VS Co
  • Java 集合根据条件进行拆分

    创建测试集合 List
  • typescript学习(四)——泛型

    泛型 泛型 软件工程中 不仅要创建一致的定义良好的API 同时也要考虑可重用性 组件不仅能够支持当前的数据类型 同时也能支持未来的数据类型 这在创建大型系统时提供了十分灵活的功能 在像c 和java这样的语言中 可以使用泛型来创建可重用的组
  • 从C语言出发新角度内核剖析C++函数重载(千字精品,附带大厂面试问题回答)

    目录 C角度引入 函数重载 1 什么是函数重载 2 函数重载的优点 3 函数重载的特性 剖析函数重载 最后做一个小补充 大厂面试题 C角度引入 首先在进行C 讲解之前我们照例先来谈谈C语言是如何做的 在C语言中是没有函数重载存在的 每一个函
  • hibernate 关系映射文件配置

  • 1、Java实现队列(Queue)的方式

    编程题目 1 请用Java实现队列 Queue 队列实现的三种方式 1 通过数组实现一个队列 2 通过集合实现一个对列 3 通过两个堆栈实现一个队列 示例代码 1 通过数组实现一个队列 package program stack array
  • conda更新失败--更新后版本号不变

    我们通常使用下面的命令更新conda conda update n base c defaults conda 然而 这个命令有时候失效 如在我电脑上 4 10 0版本的conda一直无法升级为最新的23 3 1版本 失效情况 在更新前的状
  • vue 数字变星号 过滤器_Vue自定义过滤器格式化数字三位加一逗号实现代码

    前端处理一些金额 数字类的数据要求按照固定的格式显示 比如9 527 025 或者带有小数 如1 587 23 仍要三位一断 有些话也不必多说 既然要求如此 实现呗 作为前端主流框架之一的Vue 类似的功能肯定都有人写的很完善了 我呢 最讨
  • React Hooks 学习笔记

    大家好 小编最近在梳理 React Hook 的相关内容 由于看视频 看书 自己做项目总觉得缺点什么 总觉得看过了 内容太简单 有啥好写的 但是过了一段时间 感觉有些东西又模糊了 同时又觉得怕简单 写了也不一定有人看 但是想想 还是整理成文
  • iOS开发之第三方支付支付宝支付教程,史上最新最全第三方支付宝支付方式实现、支付宝集成教程,支付宝实现流程

    本章项目demo https github com zhonggaorong alipayDemo 支付宝支付大致流程为 1 公司与支付宝进行签约 获得商户ID partner 和账号ID seller 和私钥 privateKey 开发中
  • 【自然语言处理】主题建模:Top2Vec(理论篇)

    主题建模 Top2Vec 理论篇 Top2Vec 是一种用于 主题建模 和 语义搜索 的算法 它自动检测文本中出现的主题 并生成联合嵌入的主题 文档和词向量 算法基于的假设 许多语义相似的文档都可以由一个潜在的主题表示 首先 创建文档和词向
  • 没有头的猫在笛卡尔坐标系上随机漫步(未完成)

    想用python模拟随机运动 布朗运动 BROWNIAN MOTION 英国科学家布朗在两百年前第一次观察到水分子推动花粉颗粒在水面做不规则运动 现在我们也想用电脑模拟 在无外力作用下 花粉颗粒在水面的随机运动 如何实现呢 详细解释直接写在
  • LSTM 和 Bi-LSTM

    承上启下 承接上文介绍过的 SimpleRNN 这里介绍它的改进升级版本 LSTM RNN 和 LSTM 比较 RNN 的记忆很短 容易产生梯度消失的长依赖问题 而 LSTM 可以解决这个问题 它有更长的记忆 RNN 模型比较简单 只有一个
  • c++处理数据

    处理数据 简单变量 const限定符 类型转换和auto声明 整型 char类型 字符和小整数 成员函数cout put 通用字符名 signed char和unsigned char wchar t 浮点数 bool类型 c 算术运算符
  • Python入门笔记(1)

    纯小写的就是python的BIF 内置函数 dir builtins ArithmeticError AssertionError AttributeError BaseException BlockingIOError BrokenPip
  • 避免Unity错误剥离代码

    开启ProjectSettings里的Strip Engine Code项目后 Unity会尝试剥离未使用的引擎代码 以降低包体大小和运行时内存占用 但是某些运行时需要的组件会被错误剥离
  • Hibernate之关于多对多单向关联映射

    Hibernate 之关于多对多单向关联映射 老师和学生 最典型的多对多关联 Teacher和Student 所谓单向意思就是说 老师知道自己的教的是哪些学生而学生不知道是哪些老师教 也可以这么说 在查询的时候 通过老师可以级联查询出学生
  • 有些话,只说给懂的人听

    生活中最 孤独的时候 往往不是因为孤身一人 而是即使身边有很多人 有些心事依旧无人能懂 以前的时候 我们常常会把所有的喜怒悲欢 都说与别人听 后来渐渐变得沉默了 不是因为学会了独自消化 只是明白了 有些话只能说给懂的人听 人与人之间 只有彼
  • mybatis+mysql insert时返回自增主键

    mybatis mysql insert时返回自增主键 mysqlmybatisinsert返回自增主键 使用mybatis执行insert操作时 需要返回自增主键 网上清一色的答案 useGeneratedKeys设置为true keyP
  • qt开发使用camera类获取摄像头信息并拍照保存

    首先是UI布局 在pro文件中添加两个类 QT multimedia QT multimediawidgets 然后我们需要包含几个摄像头使用的头文件并创建摄像头的对象 include