Скрыть предварительный просмотр камеры в OpenCV Android

#android #opencv #android-camera

#Android #opencv #android-камера

Вопрос:

Я создаю это приложение, в котором мне нужно получать видео с камеры и обрабатывать его с помощью OpenCV, а также показывать вид с визуализируемой в нем 3D-графикой.Я использую два фрагмента. Один для предварительного просмотра камеры. И еще один для 3D-графики.Проблема в том, что просмотр 3D-графики должен быть полноэкранным. Я вообще не хочу предварительный просмотр камеры. Я могу показать их рядом, используя линейную компоновку. Но я не могу полностью скрыть предварительный просмотр и сделать так, чтобы 3D-сцена занимала весь экран. Даже использование относительного расположения приводит к тому, что предварительный просмотр камеры искажает представление 3D-графики.

Проще говоря, если предварительный просмотр камеры не отображается, CvCameraViewListener2.onCameraFrame() метод не вызывается. И без этого я не получаю никаких новых кадров для обработки.

Комментарии:

1. Вообще говоря, вы можете использовать FrameLayout и поместить предварительный просмотр камеры под (в терминах z-порядка) 3D-сценой. К сожалению, это ненадежно. Когда вы возобновляете действие, иногда отображается предварительный просмотр камеры. Конечное решение — использовать SurfaceTexture и не отображать эту текстуру в вашей 3D-сцене, но это не то, как работает встроенная камера OpenCV. Вы можете открыть камеру на Java и передать кадры предварительного просмотра в (родной) OpenCV для обработки изображений.

Ответ №1:

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