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

qt简单连接摄像头

要使用摄像头,就需要链接多媒体模块以及多媒体工具模块

需要在.pro文件中添加QT       +=  multimedia    multimediawidgets

是用的库文件

QCamera 类用于打开系统的摄像头设备,

QCameraViewfinder 用于显示捕获的视频,

QCameraImageCapture 用于截图。

mainwindows.h文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
//摄像头
#include <QCamera>
#include <QCameraImageCapture>QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private:Ui::MainWindow *ui;QCamera *ca;QCameraImageCapture *capture;
};
#endif // MAINWINDOW_H

mainwindows.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
//调用摄像头
#include <QCameraInfo>
#include <QCamera>
#include <QCameraViewfinder>
#include <QCameraImageCapture>
#include <QPixmap>
//弹窗
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//获取可用摄像头设备并输出在控制台QList<QCameraInfo> infos = QCameraInfo::availableCameras();qDebug() << infos.value(0).deviceName() << ":" <<infos.value(0).description();QString camera = infos.value(0).deviceName();qDebug() << camera;//显示摄像头ca =new QCamera(camera.toUtf8() ,this );ui->camera->show();QCameraViewfinder *v2 = new QCameraViewfinder(ui->camera);v2->resize(ui->camera->size());ca->setViewfinder(v2);v2->show();ca->start();capture = new QCameraImageCapture(ca);capture->capture("home/hua/XXX/.jpg");QMessageBox::information(this, "ok", "ok!");
}MainWindow::~MainWindow()
{delete ui;
}

相关文章:

  • 论文阅读——Flamingo
  • webpack之介绍
  • electron GPU process isn‘t usable. Goodbye
  • 实现linux与windows进行文件共享
  • C语言之字符串函数
  • 竞赛保研 基于GRU的 电影评论情感分析 - python 深度学习 情感分类
  • 本地websocket服务端结合cpolar内网穿透实现公网访问
  • Unity protobuf中repeated转C#文件List只读问题
  • C语言中关于操作符的理解
  • 【大数据】NiFi 中的 Controller Service
  • 【Amazon 实验②】使用缓存策略及源请求策略,用于控制边缘缓存的行为及回源行为
  • 攻防世界——game 游戏
  • 10 本让我 2023 年「生产力」暴增 5 倍的经典书|收藏
  • 05. Springboot admin集成Actuator(一)
  • Qt之QWidget 自定义倒计时器
  • 11111111
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • happypack两次报错的问题
  • leetcode讲解--894. All Possible Full Binary Trees
  • linux学习笔记
  • MySQL的数据类型
  • QQ浏览器x5内核的兼容性问题
  • vue 配置sass、scss全局变量
  • Vue.js-Day01
  • 测试如何在敏捷团队中工作?
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 动态魔术使用DBMS_SQL
  • 王永庆:技术创新改变教育未来
  • 因为阿里,他们成了“杭漂”
  • 数据库巡检项
  • ​比特币大跌的 2 个原因
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • ###C语言程序设计-----C语言学习(6)#
  • #DBA杂记1
  • (3)llvm ir转换过程
  • (八)Spring源码解析:Spring MVC
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (三)uboot源码分析
  • (十) 初识 Docker file
  • (四)JPA - JQPL 实现增删改查
  • (转)3D模板阴影原理
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET Core 中的路径问题
  • .net Stream篇(六)
  • .net 使用ajax控件后如何调用前端脚本
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET的微型Web框架 Nancy
  • .pyc文件是什么?
  • .stream().map与.stream().flatMap的使用
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • ;号自动换行
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构