Тип QML камеры
Интерфейс для настроек камеры, связанных с фокусировкой и зумом. Подробнее...
| Заявление об импорте: | import QtMultimedia |
| Инициализирует: | QCamera |
Свойства
- active : bool
- cameraDevice : CameraDevice
- cameraFormat : CameraDevice
- customFocusPoint : point
- error : перечисление
- errorString : строка
- exposureMode : ExposureMode
- exposureTime : float
- flashMode : Camera::FlashMode
- flashReady : bool
- focusMode : перечисление
- 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)
Подробное описание
Элемент Camera можно использовать в CaptureSession для записи видео и получения изображений.
С помощью 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 : CameraDevice
Получает или устанавливает текущий активный формат камеры.
См. также CameraDevice::videoFormats.
customFocusPoint : point
Это свойство содержит позицию пользовательской точки фокусировки в относительных координатах кадра. Это означает, что QPointF(0,0) указывает на верхний левый угол кадра, а QPointF(0.5,0.5) указывает на центр кадра.
Пользовательская точка фокусировки используется только в FocusPointCustom режиме фокусировки.
Вы можете проверить, поддерживаются ли пользовательские точки фокусировки, запросив supportedFeatures() с флагом Feature.CustomFocusPoint.
error : enumeration
Возвращает состояние ошибки камеры.
См. также QCamera::Error.
errorString : string
Возвращает удобочитаемую строку, описывающую состояние ошибки камеры.
exposureMode : ExposureMode
Используемый режим экспозиции.
См. также QCamera::ExposureMode и Camera::isExposureModeSupported().
exposureTime : float
Возвращает время экспозиции камеры в секундах.
См. также manualExposureTime.
flashMode : Camera::FlashMode
Получает или устанавливает определенный режим вспышки, если у камеры есть вспышка.
См. также QCamera::FlashMode, Camera::isFlashModeSupported и Camera::isFlashReady.
flashReady : bool
Указывает, заряжена ли вспышка и готова к использованию.
focusMode : enumeration
Это свойство содержит текущий режим фокусировки камеры.
Примечание: В автоматических режимах фокусировки и там, где это поддерживается, свойство focusPoint предоставляет информацию и управление областью изображения, на которую осуществляется фокусировка.
| Константа | Описание |
|---|---|
Camera.FocusModeAuto |
Непрерывный режим автоматической фокусировки. |
Camera.FocusModeAutoNear |
Непрерывный режим автоматической фокусировки, отдавая предпочтение объектам, близким к камере. |
Camera.FocusModeAutoFar |
Непрерывный режим автоматической фокусировки, отдавая предпочтение объектам, удалённым от камеры. |
Camera.FocusModeHyperfocal |
Фокусировка на гипофокальное расстояние, с максимальной глубиной резкости. Все объекты на расстоянии от половины этого расстояния до бесконечности будут приемлемо чёткими. |
Camera.FocusModeInfinity |
Фокусировка строго на бесконечность. |
Camera.FocusModeManual |
Режим ручной или фиксированной фокусировки. |
Если определённый режим фокусировки не поддерживается, его установка не повлияет на результат.
См. также isFocusModeSupported.
focusPoint : point
Возвращает точку, в настоящее время используемую системой автоматической фокусировки для фокусировки.
isoSensitivity : int
Описывает текущую чувствительность ISO, используемую камерой.
manualExposureTime : real
Получает или устанавливает время ручной экспозиции.
Установка этого свойства в -1 (значение по умолчанию) означает, что камера автоматически определяет время экспозиции.
manualIsoSensitivity : int
Описание вручную заданной чувствительности ISO
Установление этого свойства в -1 (значение по умолчанию) означает, что камера автоматически настраивает чувствительность ISO.
maximumZoomFactor : real
Это свойство содержит максимальное значение масштабирования, поддерживаемое камерой.
Будет равно 1.0 на камерах, не поддерживающих масштабирование.
minimumZoomFactor : real
Это свойство содержит минимальное значение масштабирования, поддерживаемое камерой.
Будет равно 1.0 на камерах, не поддерживающих масштабирование.
supportedFeatures : Features
Возвращает поддерживаемые камерой функции.
См. также QCamera::Feature.
torchMode : Camera::TorchMode
Получение или установка режима фонарика.
Фонарик — это непрерывный источник света. Он может использоваться во время записи видео в условиях низкой освещенности. Включение фонарика обычно переопределяет любой текущий режим вспышки.
См. также QCamera::TorchMode, Camera::isTorchModeSupported() и Camera::flashMode.
whiteBalanceMode : WhiteBalanceMode
Получение или установка режима баланса белого.
См. также QCamera::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)
Возвращает true, если режим экспозиции mode поддерживается.
bool isFlashModeSupported(FlashMode mode)
Возвращает true, если режим вспышки mode поддерживается.
bool isFlashReady()
Возвращает true, если вспышка заряжена.
bool isFocusModeSupported(FocusMode mode)
Возвращает true, если режим фокусировки mode поддерживается камерой.
bool isTorchModeSupported(TorchMode mode)
Возвращает true, если режим фонарика mode поддерживается.
bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)
Возвращает true, если режим баланса белого mode поддерживается.
void start()
Запускает камеру.
То же самое, что и установка свойства active в true.
Если камера по какой-либо причине не может быть запущена, излучается сигнал errorOccurred().
void stop()
Останавливает камеру. То же самое, что и установка свойства active в false.
void zoomTo(factor, rate)
Масштабирование до значения масштабирования factor с использованием rate.
Rate задаётся в степенях двойки в секунду. При скорости 1 потребуется 2 секунды, чтобы перейти от значения масштабирования 1 к 4.
Примечание: Использование конкретной скорости не поддерживается на всех камерах. Если не поддерживается, масштабирование произойдёт как можно быстрее.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtmultimedia-camera.html