2013-08-23 2 views
0

Я нашел этот код: https://github.com/mintuhouse/FinMan/blob/master/src/unix/imp.cpp который является классом для предварительной обработки изображения с квитанцией с использованием OpenCV.Использование Opencv на Android

Я хотел спросить: как я могу использовать его в приложении Android, которое берет фотографию и сохраняет ее как растровое изображение?

Я попытался понять, что делает класс, и попытался написать эту процедуру в android. Но это немного сложно, потому что у него есть некоторые функции, такие как cvZero(image), которые я не смог найти в OpenCV для Android. Есть идеи?

Кроме того, я пробовал NDK, но я не мог понять, как мой растровый файл и этот класс будут взаимодействовать после NDK-сборки. Я смущен! Любая помощь?

+0

, что образец cpp использует старый c-api, код android/java основан на более новом C++ api. также приведенный выше код, кажется, делает * много * больше, что вы, похоже, хотите сделать. – berak

+0

То, что я хочу, это захватить квитанцию ​​и извлечь предметы и их цены. Но поскольку используемый мной механизм tesseract не дает мне удовлетворительных результатов, я думал, что хорошая фильтрация изображения даст лучшие результаты. Поэтому я нашел этот класс, который делает фильтрацию, и я хотел попробовать написать его на коде android/java. что вы предлагаете мне делать? –

ответ

0

В старых opencv api все функции, структуры и т. Д. Начинаются с префикса «cv», чтобы показать, что они являются частью библиотеки OpenCV. В версии 2.0 api изменилось, и все функции, структуры, классы и т. Д. Находятся в пространстве имен «cv», поэтому в C++ вы можете получить к ним доступ, используя этот префикс, например «cv :: Point» или «cv: imread (...)». Старая функция cvZero теперь доступна одинаково или в конечном итоге является методом (вероятно, статическим) класса Mat, поэтому вы можете использовать его следующим образом: myMat.zero (...) или Mat :: zero (...). В Java это должно быть похоже - попробуйте myMat.zero (...) или Mat.zero (...).

Смежные вопросы