相机功能特性(QCamera::Feature)详解

目录

[1. ColorTemperature(色温调节)](#1. ColorTemperature(色温调节))

[2. ExposureCompensation(曝光补偿)](#2. ExposureCompensation(曝光补偿))

[3. IsoSensitivity(ISO 感光度)](#3. IsoSensitivity(ISO 感光度))

[4. ManualExposureTime(手动曝光时间)](#4. ManualExposureTime(手动曝光时间))

[5. CustomFocusPoint(自定义对焦点)](#5. CustomFocusPoint(自定义对焦点))

[6. FocusDistance(对焦距离)](#6. FocusDistance(对焦距离))

tips


1. ColorTemperature(色温调节)
  • 功能说明

    允许调整摄像头的白平衡色温,通过改变图像的冷暖色调来适应不同光照环境(如日光、荧光灯、阴影等)。

  • 实现方式

    • 通过 QCamera::setColorTemperature(int value) 设置具体色温值(单位:开尔文,K)。

    • 支持的色温范围可通过 QCamera::colorTemperatureRange() 获取。

  • 代码中的检测逻辑

    cpp 复制代码
    bool supported = features.testFlag(QCamera::Feature::ColorTemperature);
    ui->chkBoxCam_Color->setChecked(supported);
2. ExposureCompensation(曝光补偿)
  • 功能说明

    调整摄像头的曝光补偿值,用于在自动曝光模式下微调亮度(如过曝时降低补偿值,欠曝时增加)。

  • 实现方式

    • 通过 QCamera::setExposureCompensation(float value) 设置补偿值(通常范围为 -3.0 到 +3.0)。

    • 支持的补偿范围和步长可通过 QCamera::exposureCompensationRange() 获取。

  • 代码中的检测逻辑

    cpp 复制代码
    supported = features.testFlag(QCamera::Feature::ExposureCompensation);
    ui->chkBoxCam_Exposure->setChecked(supported);
3. IsoSensitivity(ISO 感光度)
  • 功能说明

    控制摄像头的感光度(ISO 值),影响图像在低光照下的亮度和噪点水平。

  • 实现方式

    • 通过 QCamera::setIsoSensitivity(int value) 设置 ISO 值。

    • 支持的 ISO 范围可通过 QCamera::isoSensitivityRange() 获取。

  • 代码中的检测逻辑

    cpp 复制代码
    supported = features.testFlag(QCamera::Feature::IsoSensitivity);
    ui->chkBoxCam_Iso->setChecked(supported);
4. ManualExposureTime(手动曝光时间)
  • 功能说明

    允许手动设置摄像头的曝光时间(快门速度),适用于需要精确控制曝光的场景(如高速运动拍摄)。

  • 实现方式

    • 通过 QCamera::setManualExposureTime(float seconds) 设置曝光时间(例如 1/1000 秒)。

    • 支持的曝光时间范围可通过 QCamera::exposureTimeRange() 获取。

  • 代码中的检测逻辑

    cpp 复制代码
    supported = features.testFlag(QCamera::Feature::ManualExposureTime);
    ui->chkBoxCam_Manual->setChecked(supported);
5. CustomFocusPoint(自定义对焦点)
  • 功能说明

    允许用户指定摄像头对焦的特定区域(如点击预览画面的某个位置进行对焦)。

  • 实现方式

    • 通过 QCamera::setCustomFocusPoint(const QPointF &point) 设置对焦点(归一化坐标,范围 0.0~1.0)。

    • 需结合 QVideoWidget 的点击事件获取用户选择的坐标。

  • 代码中的检测逻辑

    cpp 复制代码
    supported = features.testFlag(QCamera::Feature::CustomFocusPoint);
    ui->chkBoxCam_Custom->setChecked(supported);
6. FocusDistance(对焦距离)
  • 功能说明

    控制摄像头的对焦距离(单位:米),适用于需要手动对焦的场景(如微距拍摄)。

  • 实现方式

    • 通过 QCamera::setFocusDistance(float distance) 设置对焦距离。

    • 支持的距离范围可通过 QCamera::focusDistanceRange() 获取。

  • 代码中的检测逻辑

    cpp 复制代码
    supported = features.testFlag(QCamera::Feature::FocusDistance);
    ui->chkBoxCam_Focus->setChecked(supported);
tips

testflag是检测相机是否启用相应feature,搭配使用的。

cpp 复制代码
constexpr inline bool testFlag(Enum flag) const noexcept { return testFlags(flag); }

QCamera::Feature枚举

cpp 复制代码
 enum class Feature {
        ColorTemperature = 0x1,
        ExposureCompensation = 0x2,
        IsoSensitivity = 0x4,
        ManualExposureTime = 0x8,
        CustomFocusPoint = 0x10,
        FocusDistance = 0x20
    };
    Q_DECLARE_FLAGS(Features, Feature)
    Q_FLAG(Features)
相关推荐
天天进步201511 分钟前
Pixelle-Video 源码解析 #15:AI 视频片段生成:从静态配图到动态短视频
人工智能·音视频
美狐美颜SDK开放平台18 分钟前
直播APP开发核心功能详解:美颜SDK、音视频、礼物等功能成本怎么计算?
android·人工智能·计算机视觉·音视频·直播美颜sdk
2601_962100731 小时前
手绘医学科普视频制作教程(2026 年)
音视频
汝裕光电1 小时前
上海酒店宴会厅舞台 LED 大屏音视频集成改造实操要点,婚宴 / 年会 / 论坛不停业改造落地指南
音视频
白搞电子1 小时前
ESP-Mosaico 掌上游戏开发:LVGL 抛硬币动画、音频混音与 BMI270 摇晃触发
单片机·嵌入式硬件·物联网·游戏·音视频
安河桥。1 小时前
V4L2架构在工程实践中的应用
嵌入式硬件·音视频
Likeadust3 小时前
一键创建,说开就开:私有化音视频系统EasyDSS视频会议的入会、协作与AI纪要全流程
人工智能·音视频·easydss
2601_962100733 小时前
2026年健康科普短视频怎么拍:手机拍摄规范与开源半自动工作流复盘
智能手机·开源·音视频
刘广睿3 小时前
AI 辅助剪辑入门:自动字幕、去口癖、粗剪工具怎么选?新手剪辑师提效指南
音视频·效率工具·剪辑·自媒体·ai剪辑
iNeuOS工业互联网4 小时前
多模态知识库,打通文本、图像与视频资源的协同实践与应用
人工智能·python·音视频