摄像头QML类型

用于与焦点和缩放相关的摄像头设置的接口。 更多...

导入声明import QtMultimedia
实例化 QCamera

属性

信号

方法

详细描述

相机元素可用于捕获会话中用于视频录制和拍照。

您可以使用MediaDevices列出可用的相机并选择要使用的相机。

MediaDevices {
    id: mediaDevices
}
CaptureSession {
    camera: Camera {
        cameraDevice: mediaDevices.defaultVideoInput
    }
}

在支持该功能的硬件上,QCamera 允许您调整焦点和缩放。这还包括“微距”模式(例如,读取条形码或识别字母)或“触摸对焦”功能,指示图像中感兴趣的区域以使硬件尝试聚焦。

Item {
    width: 640
    height: 360

    CaptureSession {
        camera: Camera {
            id: camera

            focusMode: Camera.FocusModeAutoNear
            customFocusPoint: Qt.point(0.2, 0.2) // Focus relative to top-left corner
        }
        videoOutput: videoOutput
    }

    VideoOutput {
        id: videoOutput
        anchors.fill: parent
    }
}

minimumZoomFactormaximumZoomFactor 属性提供了支持的缩放因子的范围。zoomFactor 属性允许更改缩放因子。

Camera {
    zoomFactor: maximumZoomFactor // zoom in as much as possible
}

捕获相机帧的原始数据后,相机硬件和软件执行各种图像处理任务以生成最终的图像。这包括对环境光颜色的补偿、降低噪声以及对图像进行其他一些调整。

您可以通过相机属性控制这些处理步骤中的许多步骤。例如,您可以为处理图像设置使用的白平衡(或色温)。

Camera {
    whiteBalanceMode: Camera.WhiteBalanceManual
    colorTemperature: 5600
}

有关相机帧图像处理的更多信息,请参阅相机图像处理

请参阅相机概述以获取更多信息。

属性文档

active : bool

描述相机当前是否处于活动状态。


cameraDevice : cameraDevice

获取或设置当前活动的相机设备。


cameraFormat : cameraFormat

获取或设置当前活动的相机格式。

注意:在使用 Android 目标设备上的 FFMPEG 后端时,如果您请求 YUV420P 格式,您将收到全平面 4:2:0 YUV420P 或半平面 NV12/NV21。这取决于设备 ODM 实现的编解码器。

另见 cameraDevice::videoFormats.


customFocusPoint : point

该属性以相对帧坐标保存自定义焦点点的位置。这意味着 QPointF(0,0) 指向帧的右上角,而 QPointF(0.5,0.5) 指向帧的中心。

自定义焦点点仅在 FocusPointCustom 焦点模式下使用。

您可以通过调用 supportedFeatures() 并使用 Feature.CustomFocusPoint 标志来检查是否支持自定义焦点点。


error : enumeration [只读]

返回相机的错误状态。

另见 QCamera::Error.


errorString : string [只读]

返回描述相机错误状态的易读字符串。


exposureCompensation : real

获取或设置曝光补偿(EV 单位)。

曝光补偿属性允许调整自动计算的曝光。


曝光模式 : ExposureMode

当前使用的曝光模式。

另请参阅QCamera::ExposureModeCamera::isExposureModeSupported


曝光时间 : float [只读]

返回相机的曝光时间(秒)。

另请参阅manualExposureTime


闪光模式 : 枚举

获取或设置相机闪光灯的模式(如果相机带有闪光灯)。

常量描述
Camera.FlashOff闪光关闭。
Camera.FlashOn闪光打开。
Camera.FlashAuto自动闪光。

另请参阅isFlashModeSupportedisFlashReady


闪光准备好 : bool [只读]

指示闪光灯是否已充电且准备就绪。


焦点距离 : float

此属性返回相机的近似焦点距离。报告的值介于 0 和 1 之间,0 代表最近的可能焦点距离,1 代表最远的可能距离。注意,1 通常但不总是无穷远。

除非焦点模式设置为 FocusModeManual,否则设置焦点距离将被忽略。


焦点模式 : 枚举

该属性包含当前相机的焦点模式。

注意:在自动对焦模式和受支持的情况下,focusPoint 属性提供有关正在对焦的图像区域的控制和信息。

常量描述
Camera.FocusModeAuto连续自动对焦模式。
Camera.FocusModeAutoNear连续自动对焦,优先考虑靠近相机的对象。
Camera.FocusModeAutoFar连续自动对焦,优先考虑远离相机的对象。
Camera.FocusModeHyperfocal对准超焦距,实现最大的景深。从该距离的一半到无穷远的所有对象都将足够清晰。
Camera.FocusModeInfinity严格对准无穷远。
Camera.FocusModeManual手动或固定对焦模式。

如果不支持某种对焦模式,则设置此模式将不会产生任何效果。

另请参阅isFocusModeSupported


对焦点 : point [只读]

返回当前由自动对焦系统用于对焦的点。


ISO灵敏度 : int [只读]

描述相机当前使用的ISO灵敏度。


手动曝光时间 : real

获取或设置手动曝光时间。

将此属性设置为 -1(默认值)表示相机自动确定曝光时间。


手动ISO灵敏度 : int

描述手动设置的ISO灵敏度。

将此属性设置为 -1(默认值)表示相机自动调整ISO灵敏度。


最大缩放因子 : real [只读]

此属性包含支持的最大的缩放因子。

在不支持变焦的相机上,此值将 1.0


最小缩放因子 : real [只读]

此属性包含支持的最低缩放因子。

在不支持变焦的相机上,此值将 1.0


supportedFeatures : Features [只读]

返回该摄像头支持的功能。

另请参阅QCamera::Feature.


torchMode : Camera::TorchMode

获取或设置正在使用的闪光灯模式。

闪光灯是一种连续的光源。在低光照条件下拍摄视频时可以使用。启用闪光灯模式将通常覆盖任何当前设置的闪光灯模式。

另请参阅QCamera::TorchModeCamera::isTorchModeSupported() 和 Camera::flashMode.


whiteBalanceMode : WhiteBalanceMode

获取或设置正在使用的白平衡模式。

另请参阅QCamera::WhiteBalanceMode.


zoomFactor : real

获取或设置当前的放大倍数。值将在 minimumZoomFactormaximumZoomFactor 之间进行钳位。


信号文档

void errorOccurred(Camera::Error error, string errorString)

当错误状态变为 error 时发出此信号。错误描述作为 errorString 提供。

注意:对应的处理器是 onErrorOccurred.


方法文档

colorTemperature()

获取或设置当前的颜色温度。

设置颜色温度只有当支持 WhiteBalanceManual 时才有效。在这种情况下,设置大于 0 的温度将自动将白平衡模式设置为 WhiteBalanceManual。将温度设置为 0 将将白平衡模式重置为 WhiteBalanceAuto。


bool isExposureModeSupported(ExposureMode mode)

如果支持曝光 mode,则返回 true。


bool isFlashModeSupported(FlashMode mode)

如果支持闪光灯 mode,则返回 true。


bool isFlashReady()

如果闪光灯已充电,则返回 true。


bool isFocusModeSupported(FocusMode mode)

如果摄像头支持焦点 mode,则返回 true。


bool isTorchModeSupported(TorchMode mode)

如果支持火炬 mode,则返回 true。


bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)

如果支持白平衡 mode,则返回 true。


void start()

启动摄像头。

等同于设置 active 属性为 true。

如果由于某些原因无法启动摄像头,则发出 errorOccurred() 信号。


void stop()

停止摄像头。等同于将 active 属性设置为 false。


void zoomTo(factor, rate)

使用 rate 放大到放大倍数 factor

速度的大小是以每秒的二进制运算为单位的。速度为 1 时,从放大倍数为 1 到 4 需要 2 秒。

注意:不是所有摄像头都支持特定的速度。如果不支持,则将尽可能快地缩放。


© 2024 The Qt Company Ltd. 本文档中包含的文档贡献是各自所有者的版权。本提供的文档是根据自由软件基金的发布,根据其条款在GNU自由文档许可版本1.3项下授权。Qt及其相关标志是芬兰及/或其他国家全球The Qt Company Ltd.的商标。所有其他商标均为其各自所有者的财产。