广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Qt6实现调用摄像头并显示画面
  • 187
分享到

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

Qt调用摄像头显示画面Qt调用摄像头Qt摄像头 2023-02-24 11:02:33 187人浏览 八月长安
摘要

目录1、Cmake环境2、源代码1、Cmake环境 CmakeLists.txt添加 find_package(Qt NAMES Qt6 Qt5 REQUIRED COMPONENT

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_NAMESPACE
namespace 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设计界面类关系如图所示

  • 以QMainWindow为父类建立子类Camera
  • 以QVedioWidget为父类建立子类viewfinder

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

到此这篇关于Qt6实现调用摄像头并显示画面的文章就介绍到这了,更多相关Qt调用摄像内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

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

本文链接: https://www.lsjlt.com/news/197441.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
  • 消除Python OpenCV显示摄像头画面的延迟
    1. 问题描述 用 Python 通过 OpenCV显示摄像头画面时,如果对视频帧进行一些处理,常常会遇到一个问题,显示的画面比眼睛看到真实场景慢几秒甚至更多,给用户的体验不好。 画面延迟与卡顿的区...
    99+
    2023-09-16
    opencv python 人工智能 视频
  • C#借助OpenCvSharp读取摄像头并显示的实现示例
    1,首先要安装OpenCvSharp,使用cv2的函数获取设备,并将图像转换到Bitmap using OpenCvSharp; using OpenCvSharp.Exte...
    99+
    2022-11-13
  • Android实现调用摄像头
    应用场景: 在Android开发过程中,有时需要调用手机自身设备的功能,本文侧重摄像头拍照功能的调用。 知识点介绍: 使用权限:调用手机自身设备功能(摄像头拍照功能),应该确保...
    99+
    2022-06-06
    调用 摄像 摄像头 Android
  • Python实现调用摄像头拍摄照片
    目录步骤代码实现效果步骤 用opencv打开摄像头并拍照保存照片到本地获取邮箱(如qq邮箱)的授权码,方法可自行百度将照片以附件的形式发送到指定邮箱删除本地照片 代码 import ...
    99+
    2022-11-11
  • python实现调用摄像头并拍照发邮箱
    项目地址: https://github.com/flygaga/camera 思路 通过opencv调用摄像头拍照保存图像到本地 用email库构造邮件内容,保存图片以附件形式插入邮件内容 用smtplib库发送...
    99+
    2022-06-02
    python 调用摄像头 python 拍照发邮件 python 摄像头拍照
  • 云服务器调用本地摄像头怎么调整画面
    如果您的云服务器上提供了视频摄像头功能,可以使用该功能来调整摄像头画面。以下是一些步骤和方法: 打开视频监控服务 如果您使用云服务器的本地摄像头服务,则可以将摄像头设置为自动侦测。打开视频监控服务以访问该服务并设置相应的选项,例如:启...
    99+
    2023-10-26
    摄像头 画面 服务器
  • html5如何实现调用摄像头
    小编给大家分享一下html5如何实现调用摄像头,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html是什么html的全称为超文本标记语言,它是一种标记语言,包含了...
    99+
    2023-06-09
  • JavaScript实现网页端播放摄像头实时画面
    目录初衷应对的场景涉及到的范围解决问题的思路摄像头的Rtsp地址ffmpeg下载,安装,配置环境变量nodejs和ExpressJSMpeg播放和请求打开关闭初衷 写这篇博客已经是项...
    99+
    2022-11-13
  • Android实现调用摄像头拍照并存储照片
    目录1、前期准备2、主要方法1、需要使用Intent调用摄像头2、需要检查SD卡(外部存储)状态3、获取图片及其压缩图片3、案例展示1、Layout2、MainActivity1、前...
    99+
    2022-11-12
  • WPF实现调用本机摄像头的示例代码
    此项目使用了OpenCVSharp加载本地摄像头,多个摄像头支持切换展示,也可以展示rtsp地址。 使用NuGet如下: 代码如下 一、创建MainWindow.xaml代码如下。...
    99+
    2022-11-13
    WPF 调用本机摄像头 WPF 调用摄像头 WPF 摄像头
  • Python如何实现调用摄像头拍摄照片
    本文小编为大家详细介绍“Python如何实现调用摄像头拍摄照片”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现调用摄像头拍摄照片”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。步骤用opencv...
    99+
    2023-07-02
  • 云服务器调用本地摄像头怎么调整画面比例
    如果您的云服务器上安装了相机软件,您可以使用该软件来调整云服务器上的相机画面比例。以下是一些可能有用的步骤: 检查云服务器上的视频编解码器是否支持本地视频的调整比例,例如: 在相机菜单中选择“调整画面比例”选项: 将鼠标悬停在“调整...
    99+
    2023-10-27
    摄像头 画面 比例
  • 云服务器调用本地摄像头怎么调整画面位置
    要调整云服务器的画面位置,首先需要在云服务器的控制台中进行配置,包括设置云服务器的IP地址、DNS服务器、监视器等参数。在设置完这些参数后,用户可以通过控制台对云服务器进行访问,以获取所需的画面信息。 如果用户需要在云服务器上添加摄像头,...
    99+
    2023-10-28
    摄像头 画面 位置
  • python怎么实现调用摄像头并拍照发邮箱
    这篇文章主要介绍了python怎么实现调用摄像头并拍照发邮箱,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python的五大特点是什么python的五大特点:1.简单易学,开...
    99+
    2023-06-14
  • 云服务器怎么调用摄像头监控系统的画面
    如果您要调用摄像头监控系统的画面,您需要确保您的云服务器具备以下功能: 视频流解码:将摄像头视频流转化成标准流格式,使得用户可以在云服务器上使用流媒体服务来观看视频。 数据传输:确保视频数据能够从云服务器的多个节点下载到本地计算机,并且...
    99+
    2023-10-26
    监控系统 摄像头 画面
  • python调用摄像头实现拍照功能
    目录 1.介绍 2.系统依赖 (1)OpenCV-Python库 (2)Tkinter库 (3)Pillow库 (4)Time库 3.系统代码 4.效果展示 5.注意事项 1.介绍         这是一个有趣的项目,通过Python程...
    99+
    2023-09-21
    python 开发语言
  • Electron怎么实现调用外接摄像头并拍照上传
    这篇文章主要介绍了Electron怎么实现调用外接摄像头并拍照上传的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Electron怎么实现调用外接摄像头并拍照上传文章都会有所收获,下面我们一起来看看吧。背景基于E...
    99+
    2023-07-05
  • Electron调用外接摄像头并拍照上传实现详解
    目录背景需求分析实现视频采集MediaDevices.getUserMedia()拍照生成图片上传图片至CDN1. 使用HTMLCanvasElement.toBlob()语法参数2...
    99+
    2023-02-24
    Electron调用摄像头拍照上传 Electron调用外接摄像头
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作