Вызов общих методов OpenCV из Android с помощью opencv-android - PullRequest
1 голос
/ 26 февраля 2011

Я успешно установил плагин opencv-android, а также могу собрать и запустить пример приложения cvcamera. У меня есть проект opencv, который также включен в eclipse как проект библиотеки. Однако я не совсем понимаю, как выполнять произвольные методы opencv из моего приложения для Android.

Например, у меня есть приложение, которое делает снимок и сохраняет его. Затем я хочу, чтобы opencv загрузил это изображение, чтобы я мог выполнить на нем некоторую обработку. В качестве первого шага я пытаюсь загрузить это изображение в OpenCV Mat. Итак, я создал следующий класс на основе кода, который я вижу в образце cvcamera:

import com.opencv.jni.Mat;
public class ExtraOpencvJNI {
    static {
        try {
            System.loadLibrary("android-opencv");
        } catch (UnsatisfiedLinkError e) {
            throw e;
        }
    }
    public final static native Mat imread(String jarg1);

}

Затем в моем Android-Java-коде я пытаюсь выполнить:

Mat img = ExtraOpencvJNI.imread("<path_to_img>");

Тем не менее, я получаю UnsatisfiedLinkError: imread, когда я выполняю вышеуказанный Java-код. Я знаю, что, должно быть, неправильно понимаю нечто фундаментальное о том, как работает библиотека opencv-android, но я не могу найти ничего другого, объясняющего, как вызывать базовые функции opencv с помощью библиотеки android. Какие шаги я пропускаю?

Ответы [ 3 ]

2 голосов
/ 03 марта 2011

Вместо этого вы можете попробовать JavaCV, он просто делает:

http://code.google.com/p/javacv/

0 голосов
/ 09 марта 2011

Это не должно быть проблемой.Я могу сделать imread в моем приложении.Я предполагаю, что вы забыли

#include <opencv2/highgui/highgui.hpp>

0 голосов
/ 03 марта 2011

В файлах JNI должен быть соответствующий непрочитанный бит кода (.i). Например, в примере cvcamera есть процессор. I и некоторые другие. Насколько я помню, я не видел там непрочитанных. Вы должны использовать данные методы, которые перемещают изображения YUV с камеры Android в пул для обработки кодом, написанным на c ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...