摄像头QML类型
用于与焦点和缩放相关的摄像头设置的接口。 更多...
| 导入声明 | import QtMultimedia | 
| 实例化 | QCamera | 
属性
- active : bool
- cameraDevice : cameraDevice
- cameraFormat : cameraFormat
- customFocusPoint : point
- error : enumeration
- errorString : string
- exposureCompensation : real
- exposureMode : ExposureMode
- exposureTime : float
- flashMode : enumeration
- flashReady : bool
- focusDistance : float
- focusMode : enumeration
- focusPoint : point
- isoSensitivity : int
- manualExposureTime : real
- manualIsoSensitivity : int
- maximumZoomFactor : real
- minimumZoomFactor : real
- supportedFeatures : Features
- torchMode : Camera::TorchMode
- whiteBalanceMode : WhiteBalanceMode
- zoomFactor : real
信号
- void errorOccurred(Camera::Error error, string errorString)
方法
- colorTemperature()
- bool isExposureModeSupported(ExposureMode mode)
- bool isFlashModeSupported(FlashMode mode)
- bool isFlashReady()
- bool isFocusModeSupported(FocusMode mode)
- bool isTorchModeSupported(TorchMode mode)
- bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)
- void start()
- void stop()
- void zoomTo(factor, rate)
详细描述
相机元素可用于捕获会话中用于视频录制和拍照。
您可以使用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 } }
minimumZoomFactor 和 maximumZoomFactor 属性提供了支持的缩放因子的范围。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 实现的编解码器。
| customFocusPoint : point | 
| 
error : enumeration  | 
返回相机的错误状态。
另见 QCamera::Error.
| 
errorString : string  | 
返回描述相机错误状态的易读字符串。
| exposureCompensation : real | 
获取或设置曝光补偿(EV 单位)。
曝光补偿属性允许调整自动计算的曝光。
| 曝光模式 : ExposureMode | 
当前使用的曝光模式。
另请参阅QCamera::ExposureMode 和 Camera::isExposureModeSupported。
| 
曝光时间 : float  | 
返回相机的曝光时间(秒)。
另请参阅manualExposureTime。
| 闪光模式 : 枚举 | 
获取或设置相机闪光灯的模式(如果相机带有闪光灯)。
| 常量 | 描述 | 
|---|---|
| Camera.FlashOff | 闪光关闭。 | 
| Camera.FlashOn | 闪光打开。 | 
| Camera.FlashAuto | 自动闪光。 | 
另请参阅isFlashModeSupported 和 isFlashReady。
| 
闪光准备好 : 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::TorchMode、Camera::isTorchModeSupported() 和 Camera::flashMode.
| whiteBalanceMode : WhiteBalanceMode | 
获取或设置正在使用的白平衡模式。
| zoomFactor : real | 
获取或设置当前的放大倍数。值将在 minimumZoomFactor 和 maximumZoomFactor 之间进行钳位。
信号文档
| 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() | 
| 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.的商标。所有其他商标均为其各自所有者的财产。