使用Qt显示摄像头图像
1、在*.pro文件中添加多媒体模块
QT += multimedia multimediawidgets
2、使用QCamera`和`QCameraViewfinder实现捕捉和显示摄像头图像
2.1 头文件mainwindow.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QCamera> class QCamera; class QCameraInfo; class QCameraViewfinder; QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private: Ui::MainWindow *ui; QCamera *m_camera; QCameraViewfinder *m_viewfinder; }; #endif // MAINWINDOW_H
2.2 源文件mainwindow.cpp
#include <QCameraInfo> #include <QCameraViewfinder> #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); m_viewfinder = new QCameraViewfinder(); m_viewfinder->setStyleSheet(tr("background-color:black")); m_viewfinder->setAspectRatioMode(Qt::AspectRatioMode::IgnoreAspectRatio); m_viewfinder->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); m_camera = new QCamera(QCameraInfo::defaultCamera()); m_camera->setViewfinder(m_viewfinder); m_camera->start(); setCentralWidget(m_viewfinder); } MainWindow::~MainWindow() { delete ui; delete m_camera; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-02-25 在ASP.Net Core Web API中使用Swagger进行版本控制