Ответ 1
<update>
Времена меняются - и OpenCV. Прямо сейчас чистая Java-оболочка (а не Android) быстро растет, что позволяет любому использовать функции OpenCV непосредственно в приложениях для настольных приложений Java/
</update>
В каталоге образцов OpenCV вы можете найти несколько руководств в Java: samples/android
.
Вы также можете найти дополнительную информацию здесь.
Теперь, я уверен, вы скажете, что хотите Java, но не Android:). Но для этого требуется объяснение.
По разным причинам - основной - эффективность и вторая переносимость для встроенных платформ, компьютерное зрение почти полностью выполняется на C/С++. Это стандарт де-факто. Все используют его с вескими причинами и хорошими результатами.
Существуют различные адаптеры к базе кода С++, такие как Python и Java, но они существуют для заполнения некоторых конкретных пробелов: Python используется для быстрого прототипирования и Java для взаимодействия с основным языком Android. Но во всех сценариях разработка "реального" алгоритма выполняется с помощью C/С++. Вот почему никто не заботится о учебниках/книгах/примерах на других языках.
Заключение. Если вы хотите изучить обработку изображений, изучите С++ или Python. Если вы хотите создать какое-то приложение, изучите Java-интерфейс OpenCV из учебников docs/android. Но не ожидайте гибкости или контроля над производительностью.
Обновлено примечание
Здесь есть еще две вещи.
Первый, когда Android становится на своих колесах, и Python становится все более популярным, контент, доступный на двух языках (и других), резко возрастает. Но в ближайшие годы основная группа разработки - и лучшие документы - будет в области С++.
Наконец, но не менее важно, вы должны иметь в виду, что в любой области работы или программирования , если вы придерживаетесь одного языка, вы мертвы. Принципы имеют значение, и вы должны иметь возможность реализовать их на разных языках, и вы должны быть в состоянии читать и понимать из разных источников. Что относительно программиста, который говорит, что он не может перевести псевдокод в Java? Это совершенно одинаково для других языков.
Вы можете прочитать отличный пост в блоге Не называйте себя программистом, чтобы понять, почему вы должны забыть о программирование на одном языке.