Камера серийного режима в Android, которая может делать несколько снимков

Я пытался реализовать камеру серийного режима в своем приложении, которая может принимать несколько снимков со скоростью 5-10 (или более) снимков в секунду.

FYI Я уже видел предыдущие вопросы здесь , здесь и здесь – пробовал и проваливался со скоростью. Кроме того, вопросы старые, и нет исчерпывающих ответов, касающихся всех проблем, таких как управление кучей и т. Д.

Я бы очень признателен, если кто-то может помочь с полезными указателями, лучшей практикой или, возможно, SSCCE .

Обновить :

Пробовал успешно с вытягиванием кадров предварительного просмотра @ 15 + snaps / sec, но проблема в размере предварительного просмотра ограничена. На Nexus 5 я могу получить только 1920×1080, что составляет ~ 2mp, тогда как разрешение pic с полным разрешением на n5 равно 8mp 🙁

Я думаю, что большая часть проблемы заключается в следующем: как работает режим работы в современных телефонах? Несколько блогов указывают, что Google подтвердил, что они будут добавлять API режима пакетной обработки.

Я подозреваю, что текущие реализации работают, устанавливая время экспозиции до минимума и вызывая takePicture в цикле или используя Camera.PreviewCallback

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

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

В дополнение к API-интерфейсам, предлагаемым их производителями, единственный способ получить «пакетный режим», который имеет возможность работать с устройствами, – использовать кадры предварительного просмотра в качестве изображений. takePicture() нет гарантий того, когда вы снова сможете вызвать takePicture() .

Intereting Posts