JavaCV против OpenCV с точки зрения времени выполнения - PullRequest
2 голосов
/ 27 февраля 2012

Я создаю приложение для Android, которое включает в себя методы обработки изображений. С точки зрения времени выполнения, что лучше JavaCV или OpenCV?

Ответы [ 3 ]

5 голосов
/ 12 марта 2012

Их накладные расходы во время выполнения примерно одинаковы, но оболочки android-opencv не предоставляют доступ к необработанным данным через прямые буферы NIO, что делает пользовательскую обработку в Java намного менее эффективной.JavaCV более эффективен для этих задач.Будучи автором JavaCV, мне также больше нравится его API :) Он ближе к оригинальному API C / C ++, чем android-opencv.

РЕДАКТИРОВАТЬ: Другое отличие состоит в том, что android-opencv заставляет пользователей использовать NDKJNI для написания функций.Поскольку JavaCV основан на JavaCPP , мы можем писать собственные функции проще, не имея дело ни с NDK, ни с JNI.

0 голосов
/ 27 февраля 2012

JavaCV - это просто оболочка Java вокруг собственной библиотеки OpenCV.OpenCV обеспечивает привязку Java / SWIG.Я использовал обе привязки и не увидел существенной разницы между ними.

Если вы пишете приложение только для нативных приложений, используйте OpenCV.

0 голосов
/ 27 февраля 2012

Написание нативного кода с использованием Android NDK обычно происходит намного быстрее, чем с использованием SDK.Вы можете найти хороший учебник здесь , используя opencv с NDK.Обратите внимание, что с платформой NDK у вас есть доступ к функциям openGL.

...