Android Camera2 — подробное объяснение CaptureResult API

1. Обзор CaptureResult

Подмножество одного результата изображения, полученного датчиком изображения.
Содержит подмножество окончательной конфигурации оборудования захвата (сенсоры, объективы, вспышки), конвейера обработки, алгоритмов управления и выходных буферов.
CaptureResults генерируются CameraDevice после обработки CaptureRequest. Все свойства, перечисленные для запроса захвата, также могут быть запрошены в результате захвата, чтобы определить окончательное значение для захвата. Результаты также включают дополнительные метаданные о состоянии устройства камеры во время захвата.
Не все свойства, возвращаемые CameraCharacteristics.getAvailableCaptureResultKeys(), обязательно доступны. Некоторые результаты являются частичными и не будут содержать все наборы ключей. Общий результат гарантируется только при включении каждого доступного ключа по запросу.
Объекты CaptureResult являются неизменяемыми.

2. Метод

/**

Получите значение поля результата захвата.
Определения полей можно найти в CaptureResult.
Несколько запросов для одного и того же значения ключа вернут значение, равное значению предыдущего запроса.
Параметры:
key – поле результата для чтения.
Возврат:
значение для ключа или ноль, если поле не задано.
Бросок:
IllegalArgumentException - если ключ недействителен

*/

@Обнуляемый
public <T> T get(Key<T> key)

/**

Возвращает список ключей, содержащихся в этой карте.
Возвращенный список нельзя изменить, поэтому любая попытка изменить его вызовет исключение UnsupportedOperationException.
Все значения, полученные с помощью #get из ключей в этом списке, гарантированно будут ненулевыми. Каждый ключ указан в списке только один раз. Порядок ключей не определен.

*/

@NonNull
общедоступный список<Key<?>> getKeys()

/**

Получите запрос, связанный с этим результатом.
Всякий раз, когда запрос захвата полностью или частично перехватывается с помощью CameraCaptureSession.CaptureCallback.onCaptureCompleted или CameraCaptureSession.CaptureCallback.onCaptureProgressed, результат getRequest() возвращает запрос.
Например,
cameraDevice.capture(someRequest, new CaptureCallback() {         @Override        void onCaptureCompleted(CaptureRequest myRequest, CaptureResult myResult ) {            assert(myResult.getRequest.equals(myRequest) == true);        }    }, null); возвращает: с this Запрос, связанный с результатом. Никогда не пустой.





  

*/

@NonNull
публичный CaptureRequest getRequest()

/**

Получите номер кадра, связанный с этим результатом.
Всякий раз, когда запрос обрабатывается, будь он неудачным или успешным, он получает уникальный номер кадра, присвоенный его будущему результату/сбою.
Для однотипных запросов (захват или повторная обработка с камеры) это значение монотонно увеличивается с 0 в течение времени существования CameraDevice при каждом новом результате или сбое. Номера кадров не могут увеличиваться монотонно по запросам разных типов. Например, номер кадра более нового результата повторной обработки может быть меньше номера кадра более старого результата захвата нового изображения с камеры, но номер кадра более нового результата повторной обработки никогда не будет меньше номера кадра предыдущего результата. более старый результат повторной обработки. Старые результаты обработки.
Возврат: номер кадра

*/

публичный длинный getFrameNumber()

/**

Идентификатор последовательности этой ошибки, возвращаемый семейством функций CameraCaptureSession.capture.
Идентификатор последовательности представляет собой уникальное монотонно возрастающее значение, начинающееся с 0 и увеличивающееся каждый раз при отправке нового набора запросов на CameraDevice.
Возврат: int ID последовательности запросов, к которой принадлежит этот результат захвата

*/

публичный интервал getSequenceId()

Guess you like

Origin blog.csdn.net/github_27263697/article/details/131578289