Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

org.opencv.imgproc.Imgproc.Canny_3 Not not working in OpenCv 3.3.0 for Android #9497

Closed
gurankas opened this issue Aug 29, 2017 · 7 comments
Closed
Labels
platform: android question (invalid tracker) ask questions and other "no action" items here: https://forum.opencv.org

Comments

@gurankas
Copy link

System information (version)
  • OpenCV => 3.3.0 for android
  • Operating System / Platform => Windows 7 64 Bit
  • Compiler => Android Studio gradle
Detailed description

I have linked the OpenCV library before calling the onCreate method. Loading of OpenCV library is successful. I am also able to use Mat, imgproc.cvtcolor but when I try to use imgproc.Canny, I get a UnsatisfiedLinkError in void org.opencv.imgproc.Imgproc.Canny_3

Log

08-29 10:52:45.503 28877-28877/com.gurankas.bhism.documentscanner I/LensActivity: OpenCV loaded successfully
08-29 10:52:45.583 28877-28985/com.gurankas.bhism.documentscanner I/Adreno-EGL: <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LA.BF.1.1.1_RB1.05.00.02.042.016_msm8610_LA.BF.1.1.1_RB1__release_AU ()
                                                                                OpenGL ES Shader Compiler Version: E031.25.03.00
                                                                                Build Date: 02/11/15 Wed
                                                                                Local Branch: 
                                                                                Remote Branch: quic/LA.BF.1.1.1_rb1.10
                                                                                Local Patches: NONE
                                                                                Reconstruct Branch: AU_LINUX_ANDROID_LA.BF.1.1.1_RB1.05.00.02.042.016 + 62ca4eb + acd831d + 9f8b442 + e027a02 + cba30ba + 53c303a + a649d79 + 23e16f8 + 5e97da7 + cbd2a44 + 33d072a + 7aacf06 + 72b33e7 + 28f6f60 + b4c13d8 +  NOTHING
08-29 10:52:45.584 28877-28985/com.gurankas.bhism.documentscanner I/OpenGLRenderer: Initialized EGL, version 1.4
08-29 10:52:45.618 28877-28985/com.gurankas.bhism.documentscanner D/OpenGLRenderer: Enabling debug mode 0
08-29 10:52:45.854 28877-28877/com.gurankas.bhism.documentscanner W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
08-29 10:52:57.943 28877-28877/com.gurankas.bhism.documentscanner D/LensActivity: File URI = file:///storage/emulated/0/Document%20Scanner/image_10.jpg
08-29 10:52:57.958 28877-28899/com.gurankas.bhism.documentscanner W/art: Suspending all threads took: 5.081ms
08-29 10:53:11.786 28877-28877/com.gurankas.bhism.documentscanner D/LensActivity: 1 1 -1 -1
08-29 10:53:11.786 28877-28877/com.gurankas.bhism.documentscanner D/LensActivity: file:///storage/emulated/0/Document%20Scanner/image_10.jpg
08-29 10:53:12.102 28877-28899/com.gurankas.bhism.documentscanner W/art: Suspending all threads took: 21.361ms
08-29 10:53:12.206 28877-28904/com.gurankas.bhism.documentscanner W/art: Suspending all threads took: 94.741ms
08-29 10:53:26.909 28877-29872/com.gurankas.bhism.documentscanner E/art: No implementation found for void org.opencv.imgproc.Imgproc.Canny_3(long, long, double, double) (tried Java_org_opencv_imgproc_Imgproc_Canny_13 and Java_org_opencv_imgproc_Imgproc_Canny_13__JJDD)
08-29 10:53:26.923 28877-29872/com.gurankas.bhism.documentscanner E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
                                                                                    Process: com.gurankas.bhism.documentscanner, PID: 28877
                                                                                    java.lang.RuntimeException: An error occured while executing doInBackground()
                                                                                        at android.os.AsyncTask$3.done(AsyncTask.java:304)
                                                                                        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
                                                                                        at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
                                                                                        at java.util.concurrent.FutureTask.run(FutureTask.java:242)
                                                                                        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
                                                                                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                                                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                                                                                        at java.lang.Thread.run(Thread.java:818)
                                                                                     Caused by: java.lang.UnsatisfiedLinkError: No implementation found for void org.opencv.imgproc.Imgproc.Canny_3(long, long, double, double) (tried Java_org_opencv_imgproc_Imgproc_Canny_13 and Java_org_opencv_imgproc_Imgproc_Canny_13__JJDD)
                                                                                        at org.opencv.imgproc.Imgproc.Canny_3(Native Method)
                                                                                        at org.opencv.imgproc.Imgproc.Canny(Imgproc.java:1072)
                                                                                        at com.gurankas.bhism.documentscanner.MyAsyncTask.doInBackground(MyAsyncTask.java:98)
                                                                                        at com.gurankas.bhism.documentscanner.MyAsyncTask.doInBackground(MyAsyncTask.java:27)
                                                                                        at android.os.AsyncTask$2.call(AsyncTask.java:292)
                                                                                        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                                        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
                                                                                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
                                                                                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
                                                                                        at java.lang.Thread.run(Thread.java:818) 
Steps to reproduce

Link the OpenCV library for Android, Click a photo and apply GuassianBlur, EdgeDetection, contouring and then Canny. That's how I set up my project

@alalek
Copy link
Member

alalek commented Aug 29, 2017

OpenCV loaded successfully

There is a dump of loaded OpenCV version above this line.

@gurankas
Copy link
Author

https://stackoverflow.com/questions/45932530/unsatisfiedlinkerror-in-imgproc-canny-after-successfully-loading-opencv-in-andro
does this help?

@alalek
Copy link
Member

alalek commented Aug 31, 2017

No, version line is still cut (~20 lines above).
We need something like these lines and below:

-- General configuration for OpenCV 3.3.0 =====================================
--   Version control:               3.3.0
-- 
--   Platform:
--     Timestamp:                   2017-08-04T00:30:10Z
--     Host:                        Linux 4.8.0-58-generic x86_64
--     Target:                      Linux 1 armv7-a

@alannishioka
Copy link

i was using opencv 3.3.1 as part of my app, but opencv manager 3.0.0 downloaded from the play store. i had to uninstall the play store version and manually install opencv manager 3.3.1 using adb to make this error go away.

@ojgarciab
Copy link

I had the same issue resolved installing apk from downloaded sdk. Please, update play store manager! Thanks.

@igor036
Copy link

igor036 commented Jul 1, 2018

I just installed opencv apk what is on folder the sdk and canny started to work

@manishakamble
Copy link

facing same issue
java.lang.UnsatisfiedLinkError: No implementation found for void org.opencv.imgproc.Imgproc.Canny_3(long, long, double, double) (tried Java_org_opencv_imgproc_Imgproc_Canny_13 and Java_org_opencv_imgproc_Imgproc_Canny_13__JJDD) at org.opencv.imgproc.Imgproc.Canny_3(Native Method) at org.opencv.imgproc.Imgproc.Canny(Imgproc.java:1104)

I am using OpenCV 3.4.0 version apk .
Android Studio 3.6.6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform: android question (invalid tracker) ask questions and other "no action" items here: https://forum.opencv.org
Projects
None yet
Development

No branches or pull requests

6 participants