Spec-Zone.ru › Qt

Тип 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API