java.lang.Ошибка неудовлетворенной ссылки на opencv-contrib

#java #android #opencv

#java #Android #opencv

Вопрос:

Я пытаюсь создать приложение с opencv, способное распознавать лицо человека на изображении, поэтому я пытаюсь использовать функцию FacemarkKazemi opencv. Моя проблема в том, что как только я переключаюсь на инициализацию класса, мое приложение мгновенно вылетает.

Вы можете найти код, который я пытаюсь запустить, здесь :

https://github.com/opencv/opencv_contrib/blob/master/modules/face/samples/Facemark.java

Приложение завершает работу в строке 29 здесь :

 Facemark fm = Face.createFacemarkKazemi();
  

И у меня эта ошибка :

 java.lang.UnsatisfiedLinkError: No implementation found for long org.opencv.face.Face.createFacemarkKazemi_0() (tried Java_org_opencv_face_Face_createFacemarkKazemi_10 and Java_org_opencv_face_Face_createFacemarkKazemi_10__)
  

Кроме того, если вы знаете лучший способ создания меток на лице, я был бы рад узнать это.

РЕДАКТИРОВАТЬ: я добавил эту строку в свой gradle для импорта содержимого opencv, как вы думаете, ошибка может быть из-за этого?

 implementation 'com.quickbirdstudios:opencv:3.4.4-contrib'
  

Ответ №1:

Прежде чем я интегрировал opencv непосредственно в свой проект, когда я хотел добавить opencv-contrib, мне пришлось добавить gradle в свой проект (но это никогда не давало мне the.so для Android) вот почему не удалось найти функции, не было предварительно скомпилированных файлов. Итак, я загрузил opencv sdk с opencv contrib и добавил the.so в папке jnilibs.