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

opencv_imgproc342 in java.library.path after update to the new version #36

Closed
hurschler opened this issue Aug 18, 2018 · 4 comments
Closed

Comments

@hurschler
Copy link

Hi

I use opencv 3.4.2 as a part of dl4j.
Now after my update I got this error:

Caused by: java.lang.UnsatisfiedLinkError: no opencv_imgproc342 in java.library.path

at org.bytedeco.javacpp.Loader.load(Loader.java:882)
at org.bytedeco.javacpp.helper.opencv_core$AbstractArray.<clinit>(opencv_core.java:109)
at org.datavec.image.loader.NativeImageLoader.streamToMat(NativeImageLoader.java:256)
at org.datavec.image.loader.NativeImageLoader.asMatrix(NativeImageLoader.java:227)
at org.datavec.image.loader.NativeImageLoader.asMatrix(NativeImageLoader.java:221)

Thanks
André

@vonnieda
Copy link
Member

Hi @hurschler, are you sure that you are using org.openpnp.opencv and not another package? This package does not use bytedeco.javacpp and I don't see any references to this package in your repo: https://github.com/deeplearning4j/deeplearning4j/search?utf8=%E2%9C%93&q=openpnp&type=

Thanks,
Jason

@hurschler
Copy link
Author

In the Code that I use is a NativeImageLoader Class (org.datavec.image.loader.NativeImageLoader). And this Class create another Class new Mat() -> org.bytedeco.javacpp.opencv_core. The static initialization process try to load a native lib. And I think its a part of opencv wich is not found (opencv_core$AbstractArray.(opencv_core.java:109)).

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniopencv_core in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1225)
at org.bytedeco.javacpp.Loader.load(Loader.java:983)
at org.bytedeco.javacpp.Loader.load(Loader.java:882)
at org.bytedeco.javacpp.opencv_core.(opencv_core.java:10)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.bytedeco.javacpp.Loader.load(Loader.java:941)
at org.bytedeco.javacpp.Loader.load(Loader.java:882)
at org.bytedeco.javacpp.helper.opencv_core$AbstractArray.(opencv_core.java:109)
at org.datavec.image.loader.NativeImageLoader.streamToMat(NativeImageLoader.java:256)
at org.datavec.image.loader.NativeImageLoader.asMatrix(NativeImageLoader.java:227)
at org.datavec.image.loader.NativeImageLoader.asMatrix(NativeImageLoader.java:221)

org.bytedeco.javacpp.opencv_core ->>>>

@namespace("cv") @NoOffset public static class Mat extends AbstractMat {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. /
public Mat(Pointer p) { super(p); }
/
* Native array allocator. Access with {@link Pointer#position(long)}. */
public Mat(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@OverRide public Mat position(long position) {
return (Mat)super.position(position);

@hurschler
Copy link
Author

Ok sorry maybe it's the wrong opencv project right?

@vonnieda
Copy link
Member

HI @hurschler, yes, wrong project I'm afraid. I think you are looking for this one: https://github.com/bytedeco/javacv

Thanks,
Jason

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants