Capture API плохо работает в темноте, особенно ночью или при предварительном просмотре темных углов через камеру.

Я использовал эту библиотеку, которая находится по адресу https://github.com/CosmicMind/Material. Все уже работает хорошо, за исключением одного, который требует небольшой оптимизации,

Я пробовал этот, который довольно хорошо работает с улучшенным освещением в темноте, он очень полезен для устройств без вспышки, таких как iPad.

https://github.com/ooper-shlab/AVCamManual-Swift

Я не могу понять, где в коде происходит оптимизация освещения. Я бы помог, если бы разобрался.

Предварительный просмотр действительно выглядел бы намного темнее, если бы материал был Capture API.

Скриншоты каждого из них можно увидеть ниже: Демо для Material's Capture Api: Демо Cosmicmind's Capture

Демо для AVFoundation:Демонстрационный скриншот AVCamManual


person Jojo Narte    schedule 06.06.2017    source источник
comment
Да, существует известная проблема с темным API Capture, как вы описали. Он находится в очереди на переписывание для исправления известных проблем. Извините за неудобства по этому поводу :)   -  person CosmicMind    schedule 06.06.2017


Ответы (2)


Основываясь на приведенном выше ответе @Jojo Narté, правильным использованием API будет установка Capture.capturePreset value to .presetPhoto.

person CosmicMind    schedule 07.06.2017

Итак, после попытки проб и ошибок в коде AVFoundation. Комментируя коды, я пока не увидел, какой блок кода отвечает за освещение. Мне удалось выяснить, что это был AVCaptureSession.sessionPreset, который изначально был установлен на = AVCaptureSessionPresetHigh, после установки его на

AVCaptureSession.sessionPreset = AVCaptureSessionPresetPhoto

Теперь это лучше и выглядит как приложение камеры iOS по умолчанию.

person Jojo Narte    schedule 07.06.2017
comment
Я обновил значение по умолчанию до .presetPhoto, чтобы избежать этой проблемы в будущем. Спасибо :) - person CosmicMind; 07.06.2017