调用摄像头_多媒体之摄像头的调用

点击上方“Qt学视觉”,选择“星标”公众号重磅干货,第一时间送达

共同学习共同进步

1、摄像头控制概述

    Qt多媒体模块为摄像头控制提供了几个类,可以用于获取摄像头设备信息,通过摄像头进行拍照和录像。

     (1) 摄像头设备信息类QCameralnfo。 

    QCameralnfo用于获取系统的摄像头设备信息,有两个静态函数获取摄像头设备: 

    • QList<QCameralnfo> availableCameras(),返回 QCameralnfo 类的列表,表不系统可用的摄像头设备列表; 

    • QCameralnfo defaultCamera(),返回系统缺省的摄像头设备信息。 

QCameralnfo有几个函数表示摄像头信息: 

    • QString description(),返回摄像头设备描述: 

    • QString deviceName(),返回摄像头设备名称; 

    • QCamera::Position position(),返回摄像头的位置,如手机设备上一般有两个摄像头,

    前置摄像头位置类型为QCamera::FrontFace,

    后置摄像头位置类型为QCamera::BackFace, 

    未指定位置的是 QCamera::UnspecifiedPosition

    (2) 摄像头控制类QCamera。

     QCamera是用于控制摄像头的类,创建QCamera对象时需传递一个QCameralnfo对象作为参数,QCamera主要的功能函数包括以下几个。

     • setViewfinder(),为摄像头指定一个 QVideoWidget 或 QGraphicsVideoItem 对象作为取景器, 用于摄像头图像预览。 

    • QCameraExposure *exposure(),返回用于曝光控制的对象。 

    • QCameraFocus *focus(),返回用于聚焦控制的对象。 

    • setCaptureMode(QCamera::CaptureModes mode),用于设置摄像头处于不同的工作模式,                 QCamera::CaptureModes枚举类型的取值有: 

        QCamera: :CaptureViewfinder,取景器模式: 

        QCamera::CaptureStillImage,抓取静态图片模式: 

        QCamera::CaptureVideo,视频录制模式。 

    • bool isCaptureModeSupported(CaptureModes mode),判断摄像头是否支持某种抓取模式。

     (3) 静态图片抓取类 QCameralmageCapture。 

    QCameralmageCapture用于控制摄像头进行静态图片的抓取 (4) 视频和音频录制类QMediaRecorder。

     QMediaRecorder通过摄像头和音频输入设备进行录像。

     注意使用 Qt多媒体模块的摄像头相关类无法在 Windows平台上进行视频录制,只能进行静态图片抓取, 但是在 Linux平台上可以实现静态图片抓取和视频录制。

    50caca368e7d60732c9d5f2b1f312877.png

代码如下:

#pragma once#include #include #include "QMyVideoWidget.h"QT_CHARTS_USE_NAMESPACE#include "ui_QGuiMultimedia.h"#include #include #include #include #include #include #include #include #include "QMyDisplayDevice.h"#include #include #include #include #include class QGuiMultimedia : public QWidget{
        Q_OBJECTpublic:    QGuiMultimedia(QWidget *parent = Q_NULLPTR);    ~QGuiMultimedia();p
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值