keke77 / javacv

Automatically exported from code.google.com/p/javacv
GNU General Public License v2.0
0 stars 0 forks source link

Dependent Libraries opencv_legacy #304

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Try to use Loader.load(opencv_legacy.class);
or use one of it's functions (cvCalcEigenObjects in this case)

What is the expected output? What do you see instead?
I'm getting
java.lang.UnsatisfiedLinkError: 
C:\Users\Admin\AppData\Local\Temp\javacpp311197809812598\jniopencv_nonfree.dll: 
Can't find dependent libraries

What version of the product are you using? On what operating system?
JavaCV 0.5 on Windows 8 x64

Please provide any additional information below.
I'm using the precompiled CPPJars, all jar files included in my project:
http://img803.imageshack.us/img803/568/librariesw.jpg

Also tried adding the DLL files to classpath and even putting them manually in 
the tmp folder (As I thought it might be a naming mismatch somewhere in the 
Java code)

And my last attempt before giving up was to use the official OpenCV DLL files, 
which also failed

Original issue reported on code.google.com by giedoterol on 17 Apr 2013 at 1:01

GoogleCodeExporter commented 9 years ago
Thanks for reporting this issue! I think I fixed the cause in this commit:
http://code.google.com/p/javacv/source/detail?r=42b41d0a1b208ab9a8cf71b1830cad1f
8172ce0f
You can get an updated javacv.jar by calling, for example:
    > mvn package -Pffmpeg,videoinput -Djavacpp.skip=true
Does that fix the problem?

Original comment by samuel.a...@gmail.com on 27 Apr 2013 at 5:32

GoogleCodeExporter commented 9 years ago
Seems to be fixed. Thanks!

Original comment by giedoterol on 27 Apr 2013 at 2:41

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I am also getting similar error
C:\Users\AppData\Local\Temp\javacpp286444757914917\jniopencv_nonfree.dll: Can't 
find dependent libraries
when using CvSURFParams params = cvSURFParams(500,1);
How can I obtain the updated javacv.jar file for a non-mavenized project?
Thanks!

Original comment by all.sh...@gmail.com on 2 May 2013 at 12:26

GoogleCodeExporter commented 9 years ago
@all.shyam
My project isn't 'mavenized' either, I cloned JavaCV and built it from source 
using the maven command samuel posted.

However, I do understand using Maven is a hassle so here you go
https://www.dropbox.com/s/f6f5mmuym64189d/javacv.jar

Original comment by giedoterol on 2 May 2013 at 1:52

GoogleCodeExporter commented 9 years ago
@giedoterol , Hi could you please upload the javacv.jar again ? :)

Original comment by amirhose...@gmail.com on 29 Jul 2013 at 6:36

GoogleCodeExporter commented 9 years ago
Guess more people don't like Maven...
https://www.dropbox.com/s/23rt8v0osyeb3q6/javacv.jar

This is the last time I'll be posting a link though, it's not much of an effort 
to enter the command Samuel posted

Original comment by giedoterol on 29 Jul 2013 at 8:03

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I made one myself but it's introducing another error even before reaching the 
line of the last error:
OpenCV Error: Bad argument (Different sizes of objects) in cvCalcEigenObjects, 
file ..\..\..\src\opencv\modules\legacy\src\eigenobjects.cpp, line 1363
Exception in thread "main" java.lang.RuntimeException: 
..\..\..\src\opencv\modules\legacy\src\eigenobjects.cpp:1363: error: (-5) 
Different sizes of objects in function cvCalcEigenObjects
any ideas ?
yours is no different either unfortunately :(

Original comment by amirhose...@gmail.com on 29 Jul 2013 at 8:37

GoogleCodeExporter commented 9 years ago
I've had a lot of problems while doing my project using JavaCV
One of the problems was that the images used for training needed to be the 
exact same size.
I think that was the same error you're getting right now. Are you using images 
of different dimensions?

Original comment by giedoterol on 29 Jul 2013 at 8:43

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
They have different sizes yes, but it was ok before I resized them, they were 
too big and made a 2.6 GB xml so I tried to make them smaller and this happened 
!
P.S. Removing some of the images did the trick. Thanks !

Original comment by amirhose...@gmail.com on 29 Jul 2013 at 8:58

GoogleCodeExporter commented 9 years ago
@giedoterol You seem to have a pretty good grip on javaCV's problems do you 
know why the xml files created using cvWrite are so large ? (around 2 GB)

Original comment by amirhose...@gmail.com on 29 Jul 2013 at 11:58

GoogleCodeExporter commented 9 years ago
I've changed a lot of things w.r.t to dependency management in JavaCPP 0.6 and 
JavaCV 0.6. It should all work better now, but please let me know if any new 
problem pops up, thanks!

Original comment by samuel.a...@gmail.com on 16 Sep 2013 at 4:11

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I am now getting this error.

I am trying to do feature detection, and during my search I found examples

"ObjectDetection.java"

I cannot find the class for some reason, but it's one of the examples from 
JavaCV.

OpenCV Error: The function/feature is not implemented (OpenCV was built without 
SURF support) in cvExtractSURF, file 
..\..\..\..\opencv\modules\legacy\src\features2d.cpp, line 77
Exception in thread "main" java.lang.RuntimeException: 
..\..\..\..\opencv\modules\legacy\src\features2d.cpp:77: error: (-213) OpenCV 
was built without SURF support in function cvExtractSURF

    at com.googlecode.javacv.cpp.opencv_legacy.cvExtractSURF(Native Method)
    at imagerecognition.FeatureDetection.setSettings(FeatureDetection.java:145)
    at imagerecognition.FeatureDetection.<init>(FeatureDetection.java:54)
    at imagerecognition.FeatureDetection.main(FeatureDetection.java:373)
Java Result: 1

Then after the weird error, I found another example using SURF, which was 
extremely basic.

    static public void detect() {
        final IplImage image = cvLoadImage("image");
        final KeyPoint keyPoints = new KeyPoint();
        final SURF surf = new SURF(2500, 4, 2, true, false);
        // JVM crashes when JavaCV native binaries and OpenCV binaries are build with different versions of VisualStudio
        // For instance, JavaCV is build with VC10 and OpenCV with VC11.
        surf.detect(image, null, keyPoints);

    }

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniopencv_nonfree 
in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
Java Result: 1

So I'm assuming they both have to do with this?

I'm using the newest JavaCV, I believe 0.7, downloaded January 7th of this 
year(a day after the new update).

I would try the fixes above, but I'm not sure if that's 0.6 javacv jar or not, 
so I'll wait and see

Thanks

Original comment by ExoticDr...@gmail.com on 1 Feb 2014 at 11:24

GoogleCodeExporter commented 9 years ago
@ExoticDriedMeats The changes in this revision should fix that:
http://code.google.com/p/javacv/source/detail?r=75591364ceb4e3b18e1cd8269caea200
32fc27d0
Thanks for reporting!

Original comment by samuel.a...@gmail.com on 2 Feb 2014 at 2:36