Spec-Zone.ru › Qt 5.13

Тип QML камеры

Доступ к кадрам видоискателя, а также к фото- и видеосъёмке. Подробнее...

Оператор импорта: import QtMultimedia 5.13
Наследуется от:

QtObject

  • Список всех членов, включая унаследованные

Свойства

  • availability : перечисление
  • cameraState : перечисление
  • cameraStatus : перечисление
  • captureMode : перечисление
  • deviceId : строка
  • digitalZoom : вещественное число
  • displayName : строка
  • errorCode : перечисление
  • errorString : строка
  • lockStatus : перечисление
  • maximumDigitalZoom : вещественное число
  • maximumOpticalZoom : вещественное число
  • mediaObject : переменная
  • metaData
    • metaData.cameraManufacturer : переменная
    • metaData.cameraModel : переменная
    • metaData.event : переменная
    • metaData.subject : переменная
    • metaData.orientation : переменная
    • metaData.dateTimeOriginal : переменная
    • metaData.gpsLatitude : переменная
    • metaData.gpsLongitude : переменная
    • metaData.gpsAltitude : переменная
    • metaData.gpsTimestamp : переменная
    • metaData.gpsTrack : переменная
    • metaData.gpsSpeed : переменная
    • metaData.gpsImgDirection : переменная
    • metaData.gpsProcessingMethod : переменная
  • opticalZoom : вещественное число
  • orientation : целое число
  • position : перечисление
  • viewfinder
    • viewfinder.resolution : размер
    • viewfinder.minimumFrameRate : вещественное число
    • viewfinder.maximumFrameRate : вещественное число

Сигналы

  • cameraStateChanged(state)
  • digitalZoomChanged(zoom)
  • error(errorCode, errorString)
  • lockStatusChanged()
  • manualWhiteBalanceChanged()
  • maximumDigitalZoomChanged(zoom)
  • maximumOpticalZoomChanged(zoom)
  • opticalZoomChanged(zoom)
  • whiteBalanceModeChanged()

Методы

  • searchAndLock()
  • start()
  • stop()
  • list<object> supportedViewfinderFrameRateRanges(resolution)
  • list<size> supportedViewfinderResolutions(minimumFrameRate, real maximumFrameRate)
  • unlock()

Подробное описание

Вы можете использовать Camera для захвата изображений и видео с камеры, а также для управления настройками захвата и обработки, применяемыми к изображениям. Для отображения видоискателя вы можете использовать VideoOutput с камерой в качестве источника.

Item {
    width: 640
    height: 360

    Camera {
        id: camera

        imageProcessing.whiteBalanceMode: CameraImageProcessing.WhiteBalanceFlash

        exposure {
            exposureCompensation: -1.0
            exposureMode: Camera.ExposurePortrait
        }

        flash.mode: Camera.FlashRedEyeReduction

        imageCapture {
            onImageCaptured: {
                photoPreview.source = preview  // Show the preview in an Image
            }
        }
    }

    VideoOutput {
        source: camera
        anchors.fill: parent
        focus : visible // to receive focus and capture key events when visible
    }

    Image {
        id: photoPreview
    }
}

Если доступно несколько камер, вы можете выбрать используемую камеру, задав свойству deviceId значение из QtMultimedia.availableCameras. На мобильном устройстве удобно переключаться между передней и задней камерами, установив свойство position.

Различные настройки и функциональность стека камеры распределены по нескольким дочерним свойствам камеры.

Свойство Описание
imageCapture Методы и свойства для захвата неподвижных изображений.
videoRecorder Методы и свойства для записи видео.
exposure Методы и свойства для регулировки экспозиции (диафрагмы, выдержки и т. д.).
focus Методы и свойства для регулировки фокусировки и предоставления отзывов о прогрессе автофокусировки.
flash Методы и свойства для управления вспышкой камеры.
imageProcessing Методы и свойства для регулировки параметров обработки изображения камеры.

Управление основным состоянием камеры, сообщения об ошибках и простые свойства масштабирования доступны в самой камере. Для интеграции с кодом C++, свойство mediaObject позволяет получить доступ к стандартному управлению камерой Qt Multimedia.

Применяемая регулировка некоторых настроек камеры может занять некоторое время и может быть ограничена определенными поддерживаемыми значениями в зависимости от оборудования. Некоторые настройки камеры можно задавать вручную или автоматически. Свойства этих настроек содержат текущее заданное значение. Например, при включении автофокусировки зоны фокусировки отображаются в свойстве focus.

Дополнительную информацию можно найти в обзоре камеры.

Документация по свойствам

availability : перечисление

Это свойство содержит состояние доступности камеры.

Состояния доступности могут быть следующими:

Значение Описание
Доступна Камера доступна для использования
Занята Камера занята в данный момент, так как она используется другим процессом.
Недоступна Камера недоступна для использования (может быть отсутствует оборудование камеры)
ResourceMissing Камера недоступна для использования из-за отсутствия ресурсов. Возможно, впоследствии попытку можно будет повторить.

cameraState : перечисление

Это свойство содержит текущее состояние объекта камеры, которое может быть одним из следующих:

Значение Описание
UnloadedState Начальное состояние камеры, когда камера не загружена. Возможности камеры (за исключением поддерживаемых режимов захвата) неизвестны. Это состояние экономит наибольшее количество энергии, но занимает больше всего времени, чтобы подготовиться к захвату.

Хотя поддерживаемые настройки в этом состоянии неизвестны, вы по-прежнему можете задать настройки захвата камеры, такие как кодек, разрешение или частота кадров.

LoadedState Камера загружена и готова к настройке.

В состоянии ожидания вы можете запросить возможности камеры, установить разрешение захвата, кодеки и так далее.

В загруженном состоянии видоискатель не активен.

ActiveState В активном состоянии кадры видоискателя доступны, и камера готова к захвату.

По умолчанию состояние камеры — ActiveState.

cameraStatus : перечисление

Это свойство содержит текущий статус объекта камеры, который может быть одним из следующих:

Значение Описание
ActiveStatus Камера запущена и может генерировать данные, видоискатель отображает видеокадры.

В зависимости от бэкенда, изменение настроек камеры, таких как режим захвата, кодеки или разрешение в ActiveState, может привести к изменению статуса на LoadedStatus и StartingStatus во время применения настроек, а затем обратно на ActiveStatus, когда камера готова.

StartingStatus Камера запускается в результате перехода в состояние Camera.ActiveState. Сервис камеры еще не готов к захвату.
StoppingStatus Камера останавливается в результате перехода из состояния Camera.ActiveState в Camera.LoadedState или Camera.UnloadedState.
StandbyStatus Камера находится в режиме экономии энергии. Камера может перейти в режим ожидания после некоторого времени бездействия в состоянии Camera.LoadedState.
LoadedStatus Камера загружена и готова к настройке. Этот статус указывает, что устройство камеры открыто, и можно запросить поддерживаемые параметры захвата изображений и видео, такие как разрешение, частота кадров и кодеки.
LoadingStatus Загрузка устройства камеры в результате перехода из состояния Camera.UnloadedState в Camera.LoadedState или Camera.ActiveState.
UnloadingStatus Устройство камеры разгружается в результате перехода из состояния Camera.LoadedState или Camera.ActiveState в Camera.UnloadedState.
UnloadedStatus Начальный статус камеры, когда камера не загружена. Возможности камеры, включая поддерживаемые параметры захвата, могут быть неизвестны.
UnavailableStatus Камера или бэкенд камеры недоступны.

captureMode : перечисление

Это свойство содержит режим захвата камеры, который может быть одним из следующих:

Значение Описание
CaptureViewfinder Камера настроена только для отображения видоискателя.
CaptureStillImage Подготавливает камеру для захвата неподвижных изображений.
CaptureVideo Подготавливает камеру для захвата видео.

По умолчанию режим захвата — CaptureStillImage.

deviceId : строка

Это свойство содержит уникальный идентификатор используемого устройства камеры. Он может быть нечитаемым для человека.

Все доступные идентификаторы устройств можно получить из QtMultimedia.availableCameras. Если значение не указано или установлено на пустую строку, будет использоваться системная камера по умолчанию.

При возможности cameraState, captureMode, digitalZoom и другие параметры камеры сохраняются при изменении устройства камеры.

Это свойство было введено в Qt 5.4.

См. также displayName и position.

digitalZoom : вещественное

Это свойство содержит текущий коэффициент цифрового зума.

[только для чтения] displayName : строка

Это свойство содержит удобочитаемое имя камеры.

Вы можете использовать это свойство для отображения имени камеры в пользовательском интерфейсе.

Это свойство было введено в Qt 5.4.

См. также deviceId.

errorCode : перечисление

Это свойство содержит последний код ошибки.

См. также error и errorString.

errorString : строка

Это свойство содержит последнюю строку ошибки, если таковая имеется.

См. также error и errorCode.

lockStatus : перечисление

Это свойство содержит статус всех запрошенных блокировок камеры.

Статус может быть одним из следующих значений:

Значение Описание
Unlocked Приложение не заинтересовано в значении параметров камеры. Камера может сохранить этот параметр без изменений, что обычно применяется к фокусу камеры, или постоянно настраивать экспозицию и баланс белого, чтобы сохранить изображение на видоискателе.
Searching Приложение запросило блокировку фокуса, экспозиции или баланса белого с помощью searchAndLock(). Это состояние указывает, что камера фокусируется или рассчитывает экспозицию и баланс белого.
Locked Фокус, экспозиция или баланс белого камеры заблокированы. Камера готова к захвату, и приложение может проверить параметры экспозиции.

Заблокированное состояние обычно означает, что запрошенный параметр остается неизменным, за исключением случаев, когда параметр запрашивается для постоянного обновления. Например, в режиме непрерывной фокусировки фокус считается заблокированным, пока объект находится в фокусе, даже если фактическое расстояние фокусировки может постоянно меняться.

maximumDigitalZoom : вещественное

Это свойство содержит максимальный коэффициент цифрового зума, поддерживаемый, или 1.0, если цифровой зум не поддерживается.

maximumOpticalZoom : вещественное

Это свойство содержит максимальный коэффициент оптического зума, поддерживаемый, или 1.0, если оптический зум не поддерживается.

mediaObject : переменная

Это свойство содержит собственный объект мультимедиа для камеры.

Его можно использовать для получения указателя на объект QCamera, чтобы интегрировать его с кодом C++.

QObject *qmlCamera; // The QML Camera object
QCamera *camera = qvariant_cast<QCamera *>(qmlCamera->property("mediaObject"));

Примечание: Это свойство недоступно из QML.

metaData.cameraManufacturer : переменная

Эти свойства содержат метаданные для захватов камеры.

  • metaData.cameraManufacturer содержит имя производителя камеры.
  • metaData.cameraModel содержит имя модели камеры.
  • metaData.event содержит событие, во время которого необходимо захватить фотографию или видео.
  • metaData.subject содержит имя объекта захвата или записи.
  • metaData.orientation содержит поворот камеры по часовой стрелке в момент захвата.
  • metaData.dateTimeOriginal содержит начальное время захвата фотографии или видео.
  • metaData.gpsLatitude содержит широту камеры в десятичных градусах в момент захвата.
  • metaData.gpsLongitude содержит долготу камеры в десятичных градусах в момент захвата.
  • metaData.gpsAltitude содержит высоту камеры в метрах в момент захвата.
  • metaData.gpsTimestamp содержит отметку времени данных GPS-позиции.
  • metaData.gpsTrack содержит направление движения камеры в момент захвата. Оно измеряется в градусах по часовой стрелке от северной точки.
  • metaData.gpsSpeed содержит скорость камеры в километрах в час в момент захвата.
  • metaData.gpsImgDirection содержит направление, в котором смотрит камера в момент захвата. Оно измеряется в градусах по часовой стрелке от северной точки.
  • metaData.gpsProcessingMethod содержит имя метода определения GPS-позиции.

Это документация была введена в Qt 5.4.

См. также QMediaMetaData.

opticalZoom : вещественное

Это свойство содержит текущий коэффициент оптического зума.

[только для чтения] orientation : целое

Это свойство содержит физическую ориентацию датчика камеры.

Значение — угол поворота (по часовой стрелке, с шагом в 90 градусов) датчика камеры относительно дисплея в его естественной ориентации.

Например, предположим мобильное устройство, которое по умолчанию имеет портретный режим. Камера, направленная на заднюю сторону, установлена в альбомной ориентации. Если верхняя сторона датчика камеры выровнена с правым краем экрана в естественной ориентации, orientation возвращает 270. Если верхняя сторона датчика передней камеры выровнена с правым краем экрана, orientation возвращает 90.

Этот свойство был введен в Qt 5.4.

См. также VideoOutput::orientation.

position : перечисление

Это свойство содержит физическое положение камеры в аппаратной системе.

Положение может быть одним из следующих:

  • Camera.UnspecifiedPosition - положение камеры не определено или неизвестно.
  • Camera.BackFace - камера расположена на задней стороне аппаратного обеспечения. Например, на мобильном устройстве это означает, что она расположена на противоположной стороне экрана.
  • Camera.FrontFace - камера расположена на передней стороне аппаратного обеспечения. Например, на мобильном устройстве это означает, что она расположена на той же стороне, что и экран. Видоискатели передних камер отображаются в зеркальном отображении по горизонтали, поэтому пользователи видят себя как в зеркале. Захваченные изображения или видео не отображаются в зеркальном режиме.

На мобильном устройстве это свойство можно использовать для легкого выбора между передней и задней камерами. Если это свойство установлено в Camera.UnspecifiedPosition, будет использоваться стандартная камера системы.

Если это возможно, cameraState, captureMode, digitalZoom и другие параметры камеры сохраняются при изменении устройства камеры.

Это свойство было введено в Qt 5.4.

См. также deviceId.

viewfinder.resolution : размер

Эти свойства хранят параметры видоискателя.

viewfinder.resolution содержит разрешение видоискателя камеры. Если разрешение не указано или пусто, ядро использует значение по умолчанию.

viewfinder.minimumFrameRate содержит минимальную частоту кадров для видоискателя в кадрах в секунду. Если значение не задано или установлено в 0, ядро использует значение по умолчанию.

viewfinder.maximumFrameRate содержит максимальную частоту кадров для видоискателя в кадрах в секунду. Если значение не задано или установлено в 0, ядро использует значение по умолчанию.

Если viewfinder.minimumFrameRate равно viewfinder.maximumFrameRate, частота кадров фиксирована. В противном случае фактическая частота кадров изменяется между этими двумя значениями.

Изменение настроек видоискателя, когда камера находится в состоянии Camera.ActiveState может привести к перезапуску камеры.

Если камера используется для захвата видео или изображений, настройки видоискателя могут быть проигнорированы, если они противоречат настройкам захвата. Вы можете проверить фактические настройки видоискателя, когда камера перейдет в состояние Camera.ActiveStatus.

Поддерживаемые значения можно получить с помощью supportedViewfinderResolutions() и supportedViewfinderFrameRateRanges().

Это документация была введена в Qt 5.4.

Документация сигналов

cameraStateChanged(state)

Этот сигнал испускается, когда состояние камеры изменилось на state. Поскольку изменения состояния могут занять некоторое время, этот сигнал может поступить некоторое время после того, как изменение состояния было запрошено.

Соответствующий обработчик — onCameraStateChanged.

digitalZoomChanged(zoom)

Этот сигнал испускается, когда значение цифрового зума изменилось на zoom.

Соответствующий обработчик — onDigitalZoomChanged.

error(errorCode, errorString)

Этот сигнал испускается при возникновении ошибки. Значение перечисления errorCode — одно из значений, определенных ниже, и описательная строка доступна в errorString.

Значение Описание
NoError Ошибок не произошло.
CameraError Произошла ошибка.
InvalidRequestError Система не поддерживает запрошенную функциональность.
ServiceMissingError Нет доступной службы камеры.
NotSupportedFeatureError Функция не поддерживается.

Соответствующий обработчик — onError.

См. также errorCode и errorString.

lockStatusChanged()

Этот сигнал испускается при изменении состояния блокировки (фокуса, экспозиции и т. д.). Это может произойти, когда блокировка (например, автоматический фокус) завершена или не удалась.

Соответствующий обработчик — onLockStatusChanged.

manualWhiteBalanceChanged()

Этот сигнал испускается при изменении свойства manualWhiteBalance.

Соответствующий обработчик — onManualWhiteBalanceChanged.

maximumDigitalZoomChanged(zoom)

Этот сигнал испускается, когда максимальное значение цифрового зума изменилось на zoom. Это может произойти при переключении между режимами захвата видео и неподвижных изображений или изменении настроек захвата.

Соответствующий обработчик — onMaximumDigitalZoomChanged.

maximumOpticalZoomChanged(zoom)

Этот сигнал испускается, когда максимальное значение оптического зума изменилось на zoom. Это может произойти при переключении между режимами захвата видео и неподвижных изображений или изменении настроек захвата.

Соответствующий обработчик — onMaximumOpticalZoomChanged.

opticalZoomChanged(zoom)

Этот сигнал испускается, когда значение оптического зума изменилось на zoom.

Соответствующий обработчик — onOpticalZoomChanged.

whiteBalanceModeChanged()

Этот сигнал испускается при изменении свойства whiteBalanceMode.

Соответствующий обработчик — onWhiteBalanceModeChanged.

Документация методов

searchAndLock()

Начать вычисление фокусировки, экспозиции и баланса белого.

Это уместно вызывать, когда нажата кнопка фокусировки камеры (или при полунажатии на кнопку спуска затвора камеры). Если камера поддерживает автоматическую фокусировку, информация о зонах фокусировки доступна через свойство focus.

start()

Запускает камеру. Фреймы видоискателя будут доступны, и станет возможным захват изображения или видео.

stop()

Останавливает камеру, но оставляет загруженный стек камеры.

список<объект> supportedViewfinderFrameRateRanges(resolution)

Возвращает список поддерживаемых диапазонов частоты кадров видоискателя.

Каждый объект диапазона в списке имеет свойства minimumFrameRate и maximumFrameRate.

Если необязательный параметр resolution указан, возвращаемый список уменьшается до диапазонов частот кадров, поддерживаемых для данного resolution.

Камера должна быть загружена перед вызовом этой функции, в противном случае возвращаемый список пуст.

Этот метод был введен в Qt 5.5.

См. также viewfinder.

список<размер> supportedViewfinderResolutions(minimumFrameRate, вещественный maximumFrameRate)

Возвращает список поддерживаемых разрешений видоискателя.

Если оба необязательных параметра minimumFrameRate и maximumFrameRate указаны, возвращаемый список уменьшается до разрешений, поддерживаемых для данного диапазона частоты кадров.

Камера должна быть загружена перед вызовом этой функции, в противном случае возвращаемый список пуст.

Этот метод был введен в Qt 5.5.

См. также viewfinder.

unlock()

Разблокировать фокус, экспозицию и баланс белого.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtmultimedia-camera.html

Spec-Zone.ru

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