广告
返回顶部
首页 > 资讯 > 精选 >Qt6如何实现调用摄像头并显示画面
  • 181
分享到

Qt6如何实现调用摄像头并显示画面

2023-07-05 06:07:08 181人浏览 独家记忆
摘要

这篇文章主要讲解了“Qt6如何实现调用摄像头并显示画面”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Qt6如何实现调用摄像头并显示画面”吧!1、Cmake环境CmakeLists.txt添加

这篇文章主要讲解了“Qt6如何实现调用摄像头并显示画面”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Qt6如何实现调用摄像头并显示画面”吧!

1、Cmake环境

CmakeLists.txt添加

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)find_package(Qt${QT_VERSioN_MAJOR} REQUIRED COMPONENTS Widgets)find_package(Qt6 COMPONENTS Multimedia REQUIRED)find_package(Qt6 COMPONENTS MultimediaWidgets REQUIRED) target_link_libraries(samon1 PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)target_link_libraries(samon1 PRIVATE Qt6::Multimedia)target_link_libraries(samon1 PRIVATE Qt6::MultimediaWidgets)set_target_properties(samon1 PROPERTIES

这个samon1是我工程目录的文件名,具体请根据自己的工程目录名和CmakeLists配置而定。

文件调用记得修改名称

set(PROJECT_SOURCES        main.cpp        camera.cpp        camera.h        camera.ui)

qmake编译环境请自行根据调用头文件查找Qt手册。

2、源代码

main.cpp

#include <QApplication>//Qt必要头文件 #include "camera.h"//摄像头 int main(int arGC, char *argv[]){    QApplication a(argc, argv);//Qt初始化     Camera w;//创建窗口类    w.setWindowTitle("Camera");//设置窗口标题    w.show();//显示窗口     return a.exec();//程序结束}

camera.cpp

#include "camera.h"//摄像头#include "./ui_camera.h"//CMakeLists.txt构建后产生文件 Camera::Camera(QWidget *parent)    : QMainWindow(parent)    , ui(new Ui::Camera){    ui->setupUi(this);     //qDebug("Camera Device Check:%d",Camera::checkCameraAvailability());//摄像头驱动检测debug测试     my_camera.reset(new QCamera(QMediaDevices::defaultVideoInput()));//新建并设置摄像头使用默认驱动    my_captureSession.setCamera(my_camera.data());//捕获摄像头画面    my_captureSession.setVideoOutput(ui->viewfinder);//设置捕捉画面显示窗口    my_camera->start();//启动摄像头 }  //检测摄像头驱动能否识别bool Camera::checkCameraAvailability(){    if (QMediaDevices::videoInputs().count() > 0)        return true;//检测到摄像头驱动    else        return false;//没有检测到摄像头驱动} //消类Camera::~Camera(){    delete ui;}

camera.h

//icysamon@outlook.com #ifndef CAMERA_H#define CAMERA_H #include <QMainWindow>#include <QCamera>#include <QVideoWidget>#include <QMediaCaptureSession>#include <QMediaDevices>#include <QImageCapture>#include <QMediaRecorder>  QT_BEGIN_NAMESPACEnamespace Ui { class Camera; }QT_END_NAMESPACE  class Camera : public QMainWindow{    Q_OBJECT public:    Camera(QWidget *parent = nullptr);    ~Camera(); private:    Ui::Camera *ui;    QScopedPointer<QCamera> my_camera;    QScopedPointer<QMediaRecorder> my_mediaRecorder;    QMediaCaptureSession my_captureSession;     bool checkCameraAvailability(void); };#endif // CAMERA_H

camera.ui

<?xml version="1.0" encoding="UTF-8"?><ui version="4.0"> <class>Camera</class> <widget class="QMainWindow" name="Camera">  <property name="geometry">   <rect>    <x>0</x>    <y>0</y>    <width>762</width>    <height>567</height>   </rect>  </property>  <property name="windowTitle">   <string>MainWindow</string>  </property>  <widget class="QVideoWidget" name="viewfinder"/>  <widget class="QMenuBar" name="menubar">   <property name="geometry">    <rect>     <x>0</x>     <y>0</y>     <width>762</width>     <height>26</height>    </rect>   </property>  </widget>  <widget class="QStatusBar" name="statusbar"/> </widget> <customwidgets>  <customwidget>   <class>QVideoWidget</class>   <extends>QWidget</extends>   <header location="global">qvideowidget.h</header>   <container>1</container>  </customwidget> </customwidgets> <resources/> <connections/></ui>

ui设计界面类关系如图所示

Qt6如何实现调用摄像头并显示画面

  • 以QMainWindow为父类建立子类Camera

  • 以QVedioWidget为父类建立子类viewfinder

最后编译运行,就能实现一个纯视频的窗口,有关摄像头程序的截屏涉及个人隐私,故不做展示。

感谢各位的阅读,以上就是“Qt6如何实现调用摄像头并显示画面”的内容了,经过本文的学习后,相信大家对Qt6如何实现调用摄像头并显示画面这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Qt6如何实现调用摄像头并显示画面

本文链接: https://www.lsjlt.com/news/349967.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Qt6实现调用摄像头并显示画面
    目录1、Cmake环境2、源代码1、Cmake环境 CmakeLists.txt添加 find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENT...
    99+
    2023-02-24
    Qt调用摄像头显示画面 Qt调用摄像头 Qt摄像头
  • Qt6如何实现调用摄像头并显示画面
    这篇文章主要讲解了“Qt6如何实现调用摄像头并显示画面”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Qt6如何实现调用摄像头并显示画面”吧!1、Cmake环境CmakeLists.txt添加...
    99+
    2023-07-05
  • html5如何实现调用摄像头
    小编给大家分享一下html5如何实现调用摄像头,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html是什么html的全称为超文本标记语言,它是一种标记语言,包含了...
    99+
    2023-06-09
  • Python如何实现调用摄像头拍摄照片
    本文小编为大家详细介绍“Python如何实现调用摄像头拍摄照片”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现调用摄像头拍摄照片”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。步骤用opencv...
    99+
    2023-07-02
  • Html5中如何调用手机摄像头并实现人脸识别
    这篇文章主要介绍了Html5中如何调用手机摄像头并实现人脸识别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。需求混合App开发,原生壳子+webApp,在web部分调用原生摄...
    99+
    2023-06-09
  • 如何实现pyqt5圆形label显示打开的摄像头功能
    这篇文章主要介绍了如何实现pyqt5圆形label显示打开的摄像头功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。.在label显示打开的摄像头原理其实在label显示图片...
    99+
    2023-06-22
  • 利用JavaCV如何实现抓取并保存摄像头的影像
    今天就跟大家聊聊有关利用JavaCV如何实现抓取并保存摄像头的影像,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。实现:import java.awt.Graphics2D; impo...
    99+
    2023-05-31
    javacv ava
  • Android如何实现调用手机摄像头录像限制录像时长
    小编给大家分享一下Android如何实现调用手机摄像头录像限制录像时长,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下因为服务器空间有限,所以视频时长必须有所限制。在xml中先布局一个按钮,点击开始录频。布局一个...
    99+
    2023-06-29
  • vue中如何使用axios post上传头像/图片并实时显示到页面
    这篇文章给大家分享的是有关vue中如何使用axios post上传头像/图片并实时显示到页面的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。html代码: <div...
    99+
    2022-10-19
  • 如何使用html2canvas.js实现页面截图并显示或上传
    小编给大家分享一下如何使用html2canvas.js实现页面截图并显示或上传,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、导入html2canvas.js这个不需要多说,可以从github上获取: https://g...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作