OpenCV в Java - ищет использовать метод split. - PullRequest
1 голос
/ 02 января 2012

Я недавно начал работать над openCV, используя java, и пока он выглядит великолепно. Мне удалось обнаружить лица и поиграть с порогом. Так что в основном 101 материал.

Теперь я хочу сделать еще один шаг вперед, я хочу идентифицировать «руки» или «пальцы», но по какой-то причине я заметил, что OpenCV не содержит все методы (функциональные возможности), которые есть в C ++. (Я могу ошибаться с этим утверждением)

С учетом

OpenCV cv = new OpenCV(); 

Я могу сделать это:

cv.absDiff();

НО я не могу использовать другие методы, такие как: split (которая выходит из документации openCV, http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html#cv-split).

Итак, мой вопрос таков: что мне здесь не хватает или OpenCV для Java ограничен? Я не использовал C ++ в течение многих лет (поэтому я не очень хорошо помню обозначения).

Спасибо за любые указатели: -)

Ответы [ 2 ]

2 голосов
/ 31 января 2013

То, как я это понял; Есть два основных пути развития (более подробно здесь , а именно «базовый» и «продвинутый» уровни);

  1. (продвинутый уровень) Использование Android NDK, который содержит все функциональные возможности OpenCV и имеет дополнительное преимущество, заключающееся в более простом использовании готового кода C ++. Кроме того, он работает быстрее с большими конвейерами обработки.

  2. (базовый уровень) Нет необходимости использовать Android NDK. Этот подход использует API OpenCV, предоставленный для Java; подмножество (возможно, достаточное, конечно, зависящее от приложения) функциональных возможностей OpenCV. Нет знаний NDK (и, следовательно, C ++) не требуется.

Оба метода могут использоваться вместе, в зависимости от потребностей приложения.


Относительно метода split; здесь - ссылка на документацию на Java. Найдите имя метода split. Чтобы вызвать его, используйте Core.split(m,chnl);, где m - это объект изображения Mat, а chnl - это List, который содержит результирующие отдельные каналы.

0 голосов
/ 02 января 2012

OpenCv недоступен в Java, как упоминалось здесь . Вы должны использовать JavaCV . Содержит все методы в OpenCV.

Вы также можете проверить второй ответ, опубликованный в этой теме .

...