摄像头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.的商标。所有其他商标均为其各自所有者的财产。