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

Qt-捕获摄像头画面

在qt中捕获摄像头画面,在ui界面上添加一个comboBox控件、label标签和一个pushButton按钮,comboBox用于显示摄像头的设备,按钮用于开启摄像头,label用于显示摄像头捕获的画面。

//需要在.pro文件中加上multimedia multimediawidgets
QT       += core gui multimedia multimediawidgets
//mainwindow.cpp#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QCameraInfo>
#include<QCameraViewfinder>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//获取当前系统的摄像头设备列表const QList<QCameraInfo> cameras = QCameraInfo::availableCameras();for(const QCameraInfo &cameraInfo:cameras){qDebug()<<cameraInfo.deviceName().toLocal8Bit().data();ui->comboBox->addItem(cameraInfo.deviceName().toUtf8().data());}
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_pushButton_clicked()
{//创建摄像头对象(把系统中的摄像头路径给QCamera对象)camera = new QCamera(ui->comboBox->currentText().toUtf8());//创建取景器对象,也就是用于显示摄像头画面的控件,并给对象一个父指针QCameraViewfinder *viewfinder = new QCameraViewfinder(ui->label);//根据label大小设置取景器的大小viewfinder->resize(ui->label->size());//把取景器显示在ui中viewfinder->show();//绑定摄像头和摄像头画面控件camera->setViewfinder(viewfinder);//打开摄像头camera->start();//mainwindow.H
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QCamera>
#include <QCameraViewfinder>
#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void on_pushButton_clicked();private:Ui::MainWindow *ui;QCamera *camera;// QCameraViewfinder *viewfinder;
};
#endif // MAINWINDOW_H}
http://www.wxhsa.cn/company.asp?id=4656

相关文章:

  • 选择MyEMS的十大核心优势:为您的企业开启智慧能管新纪元
  • 通过 kubectl 插件 kubectl-tree 查看API对象层级关系
  • 【Unity 性能优化之路——渲染流程(1)】 - 详解
  • HCIA回顾——STP
  • .NET驾驭Word之力:COM组件二次开发全攻略之连接Word与创建你的第一个自动化文档
  • last logicflow
  • 老公对我的精神虐待
  • 用户沉默之日,产品衰亡之时:逃离迭代中的“沉默陷阱”
  • 华与华是谁?
  • 从工具到生态:现代Bug管理系统的平台化转型之路
  • PK-CWT 系列罗氏线圈使用指南:操作方法与注意事项
  • IDEA Debug 高阶技巧,老手都是这么玩的~~
  • mysql 创建分区,如何轻松提升海量数据查询效率
  • JavaWeb基础
  • 完整教程:瑞派虹泰环城总院 | 打造“一站式宠物诊疗空间”,定义全国宠物医疗新高度
  • BOE(京东方)携新能源领域新品亮相2025服贸会 引领绿色转型新动能
  • SpringBoot 集成支付宝支付,看这篇就够了
  • 工业智能终端赋能自动化生产线建设数字化管理 - 指南
  • 一道模拟赛题
  • Pycharm打包PaddleOCR过程及疑问解决途径
  • uni-app项目支付宝端Input不受控
  • 适合小型企业的项目管理系统推荐:Reddit 用户真实需求
  • 开启研究生学习阶段
  • 李航统计学习方法第二版 学习笔记
  • 如何拥有自己的一台永久免费云主机/云服务器
  • 第三周训练总结
  • godot格式化字符串
  • reLeetCode 热题 100-1 两数之和-扩展2 map实现 - MKT
  • 发现一个新的资源论坛 - 小小程序员
  • reLeetCode 热题 100-1 两数之和-扩展3 单向和双向链表实现 - MKT