栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

QT利用Qcamera查看USB摄像头参数(数据帧格式+分辨率)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

QT利用Qcamera查看USB摄像头参数(数据帧格式+分辨率)

运行环境检查:

首先检查自己的QT版本及系统环境是否支持Qcamera:Qcamera是multimedia模块中的接口函数,multimedia模块在QT5中一般是自带的。在windows环境下可直接使用,在LINUX 环境下需要手动安装multimedia模块。

代码片段:

pro文件包含:

QT       += core gui multimedia multimediawidgets
QT       +=multimedia这里插入代码片

头文件包含:

#include 
#include 
#include 

mainwindows.cpp代码如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    m_camera = new QCamera(this);//初始化摄像头设备
    QVideoProbe *m_pProbe = new QVideoProbe;
    if(m_pProbe != nullptr)
    {
        m_pProbe->setSource(m_camera); // Returns true, hopefully.
        connect(m_pProbe, SIGNAL(videoframeProbed(QVideoframe)),this, SLOT(slotOnProbeframe(QVideoframe)),Qt::QueuedConnection);
    }//其中SIGNAL(videoframeProbed(QVideoframe)为VideoProbe模块自带的信号
    m_camera->setCaptureMode(QCamera::CaptureViewfinder);//设置捕捉模式为视频
    m_camera->setViewfinder(ui->centralWidget);//设置 摄像头画面的显示位置
    m_camera->start();//开启摄像头
    //查询摄像头支持的分辨率
    QList sizes = m_camera->supportedViewfinderResolutions();
    qDebug() << "viewfinderResolutions sizes.len = " << sizes.length();
    foreach (QSize size, sizes) {
        qDebug() << "Resolutions size = " << size;
    }
    //摄像头参数初始化,根据需求用户自定义摄像头分辨率,也可以用来设置摄像头数据类型
    QCameraViewfinderSettings set;
    set.setResolution(VIDEO_WIDTH, VIDEO_HEIGHT);//设置分辨率
    //set.setPixelFormat(QVideoframe::Format_YUYV); //设置像素格式  Android上只支持NV21格式
    m_camera->setViewfinderSettings(set);

    //包含头文件QCameraInfo
    QList cameras = QCameraInfo::availableCameras();//获取可用摄像头设备列表
    foreach (const QCameraInfo &cameraInfo, cameras)
    {
       qDebug()<<"检测到设备:"< clonframe
     cloneframe.map(QAbstractVideoBuffer::ReadOnly);
  //视频缓冲区数据映射到系统内存
   //unsigned char rgb_buffer[VIDEO_WIDTH*VIDEO_HEIGHT*3];
   qDebug()<<"设备数据格式:"<< cloneframe.pixelFormat()< 

运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/722149.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号