В чем разница между ' opencv.андроид.JavaCameraView " и " opencv.андроид.NativeCameraView`



Точно так же, как сказано в теме: В чем разница между opencv.android.JavaCameraView и opencv.android.NativeCameraView. Каковы преимущества одного над другим, главные из них, которые дают больше возможностей?

630   2  

2 ответов:

Из документации OpenCV:

Класс org.opencv.android.JavaCameraView реализован в библиотеке OpenCV. Он унаследован от CameraBridgeViewBase, который расширяет SurfaceView и использует стандартный API камеры Android. В качестве альтернативы вы можете использовать класс org.opencv.android.NativeCameraView, который реализует тот же интерфейс, но использует класс VideoCapture в качестве бэк-энда доступа к камере. Опции opencv:show_fps="true" и opencv:camera_id="any" включают сообщение FPS и позволяют использовать любую камеру на устройстве. Приложение пытается сначала использовать заднюю камеру.

Реализация интерфейса CvCameraViewListener позволяет добавлять этапы обработки после захвата кадра с камеры и перед его отображением на экране. Наиболее важной функцией является onCameraFrame. Это функция обратного вызова, и она вызывается при извлечении кадра из камеры. Вход обратного вызова-объект класса CvCameraViewFrame, представляющий кадр из камеры.

Я просто взял этот ответ из здесь (это немного старый ответ) и добавил то, что я испытал:

Родная камера:

  • (+1) более высокая частота кадров

  • (+1) захват RGBA, нет необходимости конвертировать из формата android yuv.

  • "компилируется только для архитектуры armv7" больше не соответствует действительности.
  • (-1) не работает на всех устройствах - > подтверждаю !! Вот почему я им не пользуюсь !! см. ошибка 2359 .
  • (-1) не поддерживает автофокус, настройка усиления.. (ответ дан в 2012 году)

Я надеюсь, что это может быть полезно !

Comments

    Ничего не найдено.