joheras / IJ-OpenCV

GNU General Public License v3.0
29 stars 13 forks source link

Which versions of IJ-OpenCV, javaCV and OpenCV play together? #6

Closed Menneken closed 5 years ago

Menneken commented 6 years ago

Hello, I´m trying to get IJ-OpenCV to work for quite a while now, trying different versions of JavaCV and OpenCV, but when trying to execute a plugin like 'AdaptiveThresholdJ', ImageJ always tells me 'Class not found....java.lang.NoClassDefFoundError: ijopencv/ImageConverter'. Finally, I don´t have a clue what I´m doing wrong. All JavaCV, javacpp, javacv-platform, Opencv, opencv-windows, IJ-openCV -.jars are in their place (plugins -> jars), the same for the actual plugins like 'AdaptiveThresholdJ' (under folder plugins). Do you have any idea, what could be missing? What are the .jars (versions) you are using in your build? Thanks in advance for the help!

joheras commented 6 years ago

Hi, IJ-OpenCV uses version 1.1 of both JavaCV and OpenCV. I attach you a file with the dependencies. Let me know if you need further help. Best, Jónathan​ dependencies.zip https://drive.google.com/file/d/1i9UEPl2URIDs8sZ0cXe3jaXiAlWz_YZm/view?usp=drive_web

2018-03-27 17:32 GMT+02:00 Menneken notifications@github.com:

Hello, I´m trying to get IJ-OpenCV to work for quite a while now, trying different versions of JavaCV and OpenCV, but when trying to execute a plugin like 'AdaptiveThresholdJ', ImageJ always tells me 'Class not found....java.lang.NoClassDefFoundError: ijopencv/ImageConverter'. Finally, I don´t have a clue what I´m doing wrong. All JavaCV, javacpp, javacv-platform, Opencv, opencv-windows, IJ-openCV -.jars are in their place (plugins -> jars), the same for the actual plugins like 'AdaptiveThresholdJ' (under folder plugins). Do you have any idea, what could be missing? What are the .jars (versions) you are using in your build? Thanks in advance for the help!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/joheras/IJ-OpenCV/issues/6, or mute the thread https://github.com/notifications/unsubscribe-auth/AFMQG-7bOtlNmz6BkJNw6NN7y_oTts85ks5tiluIgaJpZM4S9JhB .

Menneken commented 6 years ago

Hi,

thanks for your quick response and help! I put the files you posted to the ImageJ's plugin folder, but I still get the same error. I then tried the same with Fiji (in the hope, that my version of ImageJ is somehow corrupted) and there I get the same error when executing e.g. AdaptiveThresholdJ.jar, but with some more details that are shown below:

java.lang.NoClassDefFoundError: ijopencv/ImageConverter at Adaptive_ThresholdJ_.run(Adaptive_ThresholdJ_.java:69) at ij.plugin.filter.PlugInFilterRunner.processOneImage(PlugInFilterRunner.java:265) at ij.plugin.filter.PlugInFilterRunner.<init>(PlugInFilterRunner.java:114) at ij.IJ.runUserPlugIn(IJ.java:223) at ij.IJ.runPlugIn(IJ.java:185) at ij.Executer.runCommand(Executer.java:137) at ij.Executer.run(Executer.java:66) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: ijopencv.ImageConverter at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 8 more Any idea about this?

joheras commented 6 years ago

Hi,

I am not sure about what might be the problem. Could you try using the attached version of IJOpenCV? https://drive.google.com/file/d/1naOEgVX4UNt1YDHpJBgDZLxg8QOJaDbX/view?usp=sharing

In any case, if you are using Fiji you can download IJOpenCV just by using the Updater functionality: https://imagej.net/Updater

Let me know if that works for you. Best, Jónathan

2018-03-28 14:25 GMT+02:00 Menneken notifications@github.com:

Hi,

thanks for your quick response and help! I put the files you posted to the ImageJ's plugin folder, but I still get the same error. I then tried the same with Fiji (in the hope, that my version of ImageJ is somehow corrupted) and there I get the same error when executing e.g. AdaptiveThresholdJ.jar, but with some more details that are shown below:

java.lang.NoClassDefFoundError: ijopencv/ImageConverter at AdaptiveThresholdJ.run(AdaptiveThresholdJ.java:69) at ij.plugin.filter.PlugInFilterRunner.processOneImage(PlugInFilterRunner.java:265) at ij.plugin.filter.PlugInFilterRunner.(PlugInFilterRunner.java:114) at ij.IJ.runUserPlugIn(IJ.java:223) at ij.IJ.runPlugIn(IJ.java:185) at ij.Executer.runCommand(Executer.java:137) at ij.Executer.run(Executer.java:66) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: ijopencv.ImageConverter at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 8 more Any idea about this?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/joheras/IJ-OpenCV/issues/6#issuecomment-376867987, or mute the thread https://github.com/notifications/unsubscribe-auth/AFMQGwShHAkZc3lEfJAfpFmA05Kb4GYJks5ti4FKgaJpZM4S9JhB .

Menneken commented 6 years ago

Hi,

thank you, using the updater helped a lot (actually, I wasn´t aware, that your plugins are available there). So, for now the plugins work...except for one: Adaptive_ThresholdJ gives me an error like this:

``java.lang.RuntimeException: src\thresh.cpp:1280: error: (-215) src.type() == CV_8UC1 in function cv::adaptiveThreshold

at org.bytedeco.javacpp.opencv_imgproc.adaptiveThreshold(Native Method)
at Adaptive_ThresholdJ_.run(Adaptive_ThresholdJ_.java:94)
at ij.plugin.filter.PlugInFilterRunner.processOneImage(PlugInFilterRunner.java:265)
at ij.plugin.filter.PlugInFilterRunner.<init>(PlugInFilterRunner.java:114)
at ij.IJ.runUserPlugIn(IJ.java:223)
at ij.IJ.runPlugIn(IJ.java:185)
at ij.Executer.runCommand(Executer.java:137)
at ij.Executer.run(Executer.java:66)
at java.lang.Thread.run(Thread.java:745)

You already helped me a lot already - may I ask you one more time for a suggestion what the problem might be?

joheras commented 6 years ago

Hi, it seems that there was a typo in that plugin. You can download the fixed version from the following link: https://drive.google.com/file/d/1NtDHzn8OnZW1yEFQnZq90YFQOiwSj25w/view?usp=sharing I will upload that file to the uploader as soon as possible. Best, Jónathan

2018-03-28 16:13 GMT+02:00 Menneken notifications@github.com:

Hi,

thank you, using the updater helped a lot (actually, I wasn´t aware, that your plugins are available there). So, for now the plugins work...except for one: Adaptive_ThresholdJ gives me an error like this:

``java.lang.RuntimeException: src\thresh.cpp:1280: error: (-215) src.type() == CV_8UC1 in function cv::adaptiveThreshold

at org.bytedeco.javacpp.opencv_imgproc.adaptiveThreshold(Native Method) at AdaptiveThresholdJ.run(AdaptiveThresholdJ.java:94) at ij.plugin.filter.PlugInFilterRunner.processOneImage(PlugInFilterRunner.java:265) at ij.plugin.filter.PlugInFilterRunner.(PlugInFilterRunner.java:114) at ij.IJ.runUserPlugIn(IJ.java:223) at ij.IJ.runPlugIn(IJ.java:185) at ij.Executer.runCommand(Executer.java:137) at ij.Executer.run(Executer.java:66) at java.lang.Thread.run(Thread.java:745)

You already helped me a lot already - may I ask you one more time for a suggestion what the problem might be?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/joheras/IJ-OpenCV/issues/6#issuecomment-376901842, or mute the thread https://github.com/notifications/unsubscribe-auth/AFMQG6jJZ5OCJWfZDxgGfrJHRYb8ZpV7ks5ti5qagaJpZM4S9JhB .

Menneken commented 6 years ago

Thanks, that helped - now, everything is working fine! One last question: Is it normal, that for the Adaptive_ThresholdJ plugin only uneven numbers work as block size input?

joheras commented 6 years ago

Yes, it makes sense since you are working with a window. You can check the documentation about adaptive thresholding where that is explained. https://docs.opencv.org/2.4/modules/imgproc/doc/miscellaneous_transformations.html Best, Jónathan

El jue., 29 mar. 2018 12:43, Menneken notifications@github.com escribió:

Thanks, that helped - now, everything is working fine! One last question: Is it normal, that for the Adaptive_ThresholdJ plugin only uneven numbers work as block size input?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/joheras/IJ-OpenCV/issues/6#issuecomment-377196635, or mute the thread https://github.com/notifications/unsubscribe-auth/AFMQG63WReytkOPVYm7PNyio3WPkGsKgks5tjLrsgaJpZM4S9JhB .

El 29 mar. 2018 12:43, "Menneken" notifications@github.com escribió:

Thanks, that helped - now, everything is working fine! One last question: Is it normal, that for the Adaptive_ThresholdJ plugin only uneven numbers work as block size input?

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/joheras/IJ-OpenCV/issues/6#issuecomment-377196635, or mute the thread https://github.com/notifications/unsubscribe-auth/AFMQG63WReytkOPVYm7PNyio3WPkGsKgks5tjLrsgaJpZM4S9JhB .