Как передать обученный SVM из assets / raw (Android) в JNI и загрузить - PullRequest
0 голосов
/ 29 ноября 2018

Загружаю файл из ресурсов, как показано ниже.

String pathText = null;
            try {
                InputStream is =  getAssets().open("BestSVMModel_10Class.yml");
                pathText = convertStreamToString(is);
            } catch (IOException e) {
                e.printStackTrace();
            }

В JNI Извлечение и загрузка файла SVM из пути

Ptr<SVM> svmNew = SVM::create();
Ptr<SVM> svm = Algorithm::read<SVM>(path);

При запуске собственных журналов ошибок приложения, как показано ниже

E / cv :: error (): OpenCV (3.4.3) Ошибка: одно из значений аргументов выходит за пределы диапазона (запрошенный размер отрицательный или слишком большой) в void cvMemStorageAlloc (CvMemStorage, size_t), файл/build/3_4_pack-android/opencv/modules/core/src/datastructs.cpp, строка 338

...