I already setup OpenCV SDK in Android Studio (https://www.learn2crack.com/2016/03/setup-opencv-sdk-android-studio.html) but it seems I got this kind of error message.
05-12 03:30:08.819 5480-5480/my.xxxxx I/art: Late-enabling -Xcheck:jni
05-12 03:30:08.925 5480-5480/my.xxxxx D/OpenCV/StaticHelper: Trying to get library list
05-12 03:30:08.926 5480-5480/my.xxxxx E/OpenCV/StaticHelper: OpenCV error: Cannot load info library for OpenCV
05-12 03:30:08.926 5480-5480/my.xxxxx D/OpenCV/StaticHelper: Library list: ""
05-12 03:30:08.926 5480-5480/my.xxxxx D/OpenCV/StaticHelper: First attempt to load libs
05-12 03:30:08.926 5480-5480/my.xxxxx D/OpenCV/StaticHelper: Trying to init OpenCV libs
05-12 03:30:08.926 5480-5480/my.xxxxx D/OpenCV/StaticHelper: Trying to load library opencv_java3
05-12 03:30:08.926 5480-5480/my.xxxxx D/OpenCV/StaticHelper: Cannot load library "opencv_java3"
I already include opencv_java3
into JNI
folder.
halfer
19.7k17 gold badges95 silver badges183 bronze badges
asked May 12, 2016 at 7:42
4
If someone is still (March 2020) searching for this error —
E/OpenCV/StaticHelper: OpenCV error: Cannot load info library for OpenCV
and ends up here on this StackOverflow discussion, here is a helpful clarification from the OpenCV contributor on their site itself.
Ignore this error message. «Info library» is used for special Android
configurations, like builds with CUDA support.
Please see this (currently open) issue here — https://github.com/opencv/opencv/issues/15567
answered Mar 13, 2020 at 11:37
ManishManish
1,6852 gold badges18 silver badges30 bronze badges
Most online tutorial will tell you to add just armeabi-v7a
and x86_64
into your jniLibs
folder, but this can cause errors in recent versions of OpenCV. The following briefly describes a few tweaks I used to fix this error when I was experiencing the same issue.
Solution 1:
Make sure the JNI folder you are placing the OpenCV libraries in is named jniLibs
jniLibs Folder
Solution 2:
Copy ALL the directories found in OpenCV-android-skd/sdk/native/libs
to your jniLibs
folder.
jniLibs folder with all OpenCV libraries added
Recommended:
Even though it is a separate issue involving the emulator, you should also add the code snippet posted by FD3 in your app Module Gradle file. This will prevent the INSTALL_FAILED_NO_MATCHING_ABIS error from occuring after attempting to run your app on an emulator.
answered Apr 27, 2018 at 9:39
GrubsyGrubsy
711 silver badge4 bronze badges
0
You can try to include opencv_java3
into jniLibs
folder, like this:
nickb
58.9k12 gold badges104 silver badges142 bronze badges
answered Dec 16, 2016 at 3:16
Over a year later but I found this to work for me. In you app Module gradle file, add:
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a', 'x86_64'
universalApk true
}
}
This should be put in with the android brackets. Obviously adjust your includes for which ever you may need.
answered May 10, 2017 at 13:52
FD3FD3
3612 silver badges10 bronze badges
0
i’m trying to run OpenCV Tutorial 1 — Add OpenCV with static initialization using dev_with_OCV_on_Android.html#application-development-with-static-initialization (i don’t want a separate OpenCV Manager application installed) but i get an «OpenCV error: Cannot load info library for OpenCV.» i did the following things:
- added a libs folder with armeabi, armeabi-v7a, and x86 folders inside of it (from OpenCV-2.4.2-android-sdk/sdk/native/libs/>
- added the static{if (!OpenCVLoader.initDebug())} code just below private Sample1View mView;
- removed the if (!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack)) code
what seems to be the problem?
When you’ve removed
if (!OpenCVLoader.initAsync(...
code block then nobody calls
mOpenCVCallBack.onManagerConnected()
that creates View
class and opens Camera.
Add the call
mOpenCVCallBack.onManagerConnected(LoaderCallbackInterface.SUCCESS);
to the OnCreate()
methods as a quick dirty fix.
BTW, the «OpenCV error: Cannot load info library for OpenCV» message doesn’t indicate an error, look at the further log lines to see that «OpenCV libs init was ok!»
Here is complete diff:
--- OpenCV-2.4.2-android-sdksamplestutorial-1-addopencvsrcorgopencvsamplestutorial1Sample1Java.java
+++ OpenCV-2.4.2-android-sdksamplestutorial-1-addopencvsrcorgopencvsamplestutorial1Sample1Java.java.modified
@@ -21,6 +21,11 @@
private MenuItem mItemPreviewCanny;
private Sample1View mView;
+static {
+ if (!OpenCVLoader.initDebug()) {
+ //TBD!!!
+ }
+}
private BaseLoaderCallback mOpenCVCallBack = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
@@ -91,10 +96,11 @@
requestWindowFeature(Window.FEATURE_NO_TITLE);
Log.i(TAG, "Trying to load OpenCV library");
- if (!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack))
+ /*if (!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack))
{
Log.e(TAG, "Cannot connect to OpenCV Manager");
- }
+ }*/
+ mOpenCVCallBack.onManagerConnected(LoaderCallbackInterface.SUCCESS);
}
@Override
Я использую opencv для Android. Я попытался запустить opencv со статической инициализацией. Я следовал документу от здесь
Теперь у меня проблема.
01-01 20:01:46.156: D/OpenCV/StaticHelper(14057): Trying to get library list
01-01 20:01:46.156: D/OpenCV/StaticHelper(14057): loadLibrary opencvinfo
01-01 20:01:46.156: D/OpenCV/StaticHelper(14057): /vendor/lib:/system/lib
01-01 20:01:46.156: E/OpenCV/StaticHelper(14057): OpenCV error: Cannot load info library for OpenCV
01-01 20:01:46.156: D/OpenCV/StaticHelper(14057): Library list: ""
01-01 20:01:46.156: D/OpenCV/StaticHelper(14057): First attempt to load libs
01-01 20:01:46.157: D/OpenCV/StaticHelper(14057): Trying to init OpenCV libs
01-01 20:01:46.157: D/OpenCV/StaticHelper(14057): Trying to load library opencv_java
01-01 20:01:46.177: D/OpenCV/StaticHelper(14057): OpenCV libs init was ok!
01-01 20:01:46.177: D/OpenCV/StaticHelper(14057): First attempt to load libs is OK
2 ответы
Та же проблема возникает, когда телефон не поддерживает OpenCV версии 2.x. Если это так, эмулятор будет работать нормально.
Переключитесь на OpenCV версии 3.x, где он отлично работает.
ответ дан 12 дек ’16, 15:12
logcat "01-01 20:01:46.177: D/OpenCV/StaticHelper(14057): OpenCV libs init was ok!"
это означает, что у вас есть успешная загрузка opencv libs, и в чем ваша проблема?
ответ дан 21 окт ’13, 12:10
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками
android
opencv
or задайте свой вопрос.
3 ответа
Вы можете попытаться включить opencv_java3
в папку jniLibs
, например:
Icehour
16 дек. 2016, в 01:39
Поделиться
В большинстве онлайн-учебных пособий вам будет добавлено просто armeabi-v7a
и x86_64
в папку jniLibs
, но это может привести к ошибкам в последних версиях OpenCV. Ниже кратко описывается несколько настроек, которые я использовал для исправления этой ошибки, когда у меня возникла такая же проблема.
Решение 1:
Убедитесь, что папка JNI, в которую вы размещаете библиотеки OpenCV, называется jniLibs
jniLibs Папка
Решение 2:
Скопируйте ВСЕ каталоги, найденные в OpenCV-android-skd/sdk/native/libs
в папку jniLibs
.
Добавлена папка jniLibs со всеми библиотеками OpenCV
Рекомендуемые:
Несмотря на то, что это отдельный вопрос, связанный с эмулятором, вы также должны добавить фрагмент кода, отправленный FD3 в файл приложения Gradle приложения. Это предотвратит возникновение ошибки INSTALL_FAILED_NO_MATCHING_ABIS после попытки запуска вашего приложения на эмуляторе.
Tristan Van Cise
27 апр. 2018, в 07:12
Поделиться
Более года спустя, но я нашел, что это работает для меня. В вашем приложении модуль gradle file добавьте:
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a', 'x86_64'
universalApk true
}
}
Это должно быть включено в кронштейны андроида. Разумеется, подстройте свои приложения, для которых вам когда-либо понадобится.
FD3
10 май 2017, в 11:30
Поделиться
Ещё вопросы
- 0Jquery Fancybox не откроет div
- 0загрузить несколько кадров с контентом
- 1Java и Hadoop: несовместимые типы с TextInputFormat
- 1Проблема с vue.js для получения данных из REST API
- 1Отправка намерений от получателя к услуге с задержкой
- 0Как обезопасить вызов API из мобильного приложения без имени пользователя / пароля?
- 0синтаксическая ошибка, неожиданный T_PRIVATE — Magento
- 0Как мы можем отключить флажок, когда пользователь проверяет один из checbox в контрольном списке?
- 1Замена значений в массиве Numpy на основе перестановок
- 1Добавление хранимой процедуры в DBML не генерирует код * .designer.cs
- 1Отобразить массив двоичных комбинаций в массив двоичных индексов
- 1Обработка Python любого исключения дает ошибку KeyboardInterrupt
- 1Есть ли способ перехватить отмененные запросы, используя хар-прокси?
- 1Получить список планов испытаний в TFS Java SDK
- 0Прокрутка контейнера, если изменяемый размер div достигает границы контейнера
- 0opencart получить общую цену в корзине при выбранном способе оплаты
- 1Получить message_id из сообщения Telegram — node.js
- 1Python — Как я могу сделать этот повторяющийся код короче, используя цикл?
- 0Ошибка с оператором соединения
- 1Метод вставки связанного списка
- 1ES6 super () в методах конструктора и прототипа
- 1Импортировать строку CSV в DICT?
- 1Android-сервис работает в фоновом режиме
- 0PHP-код, чтобы дать позицию в соответствии с их баллами (1, 2, 3, 3, 5)
- 1WCF WebInvoke POST null для всех параметров
- 0MySQL Присоединиться к таблице на случайном Нравится
- 1Magento 2 вызвать пользовательскую библиотеку в select.html
- 0Установите размер img перед отображением
- 0Угловой + минификация не работает в производстве и невозможно проверить
- 1строка JavaScript заменить предложение
- 0Как заставить ui-роутер всегда запускаться в заданном состоянии
- 1pygame — отжать ключ на event.key
- 1разъединенные компоненты, передающие результат c #
- 0MySQL — тип поля IPv6 и IPv4
- 0SQL-запрос для включения / исключения символов
- 1Регулировка размера участка Seaborn [копия]
- 0Пост метод выпуска
- 1IDE плюсы и минусы для разработки J2ME и Android
- 0Как отобразить первое значение раскрывающегося списка из одной таблицы и другие значения этого же раскрывающегося списка из другой таблицы
- 0Стол с одной рамкой
- 1Член PropertyChanged для INotifyPropertyChanged всегда равен нулю
- 0IFrame перекрывает Div в IE (работает нормально в Chrome)
- 0Могу ли я выполнить арифметику в операторе SQL?
- 1Ошибка при загрузке предварительно обученной французской модели FastText с помощью gensim
- 0Grunt не обновляет теги Script в приложении Angularjs
- 0Каков наилучший способ устранения ошибки ограничения внешнего ключа
- 0запрос узла js mysql в ошибке цикла
- 0DELETE-запросы занимают слишком много времени
- 1Custom Keras Loss (который НЕ имеет форму f (y_true, y_pred))
- 0Angular-strap: HTML-элемент отображается как текст, почему?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.