-
-
Notifications
You must be signed in to change notification settings - Fork 751
Closed
Labels
Description
I make a opencv + cuda test code like below and confirmed to success of opencv_cudafeatures2d
and opencv_cudaimgproc
, but opencv_cudaoptflow
failed with java.lang.UnsatisfiedLinkError: no jniopencv_ximgproc in java.library.path: [...]
.
Does anybody know why?
import org.bytedeco.opencv.global.opencv_core;
import org.bytedeco.opencv.global.opencv_cudaimgproc;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.GpuMat;
import org.bytedeco.opencv.opencv_cudaoptflow.FarnebackOpticalFlow;
import org.bytedeco.opencv.opencv_cudafeatures2d.ORB;
import org.bytedeco.opencv.opencv_cudaimgproc.TemplateMatching;
public class Main {
public static void main(String[] args) {
GpuMat mat_cuda = new GpuMat();
System.out.println("mat_cuda succeed");
ORB orb_cuda = ORB.create();
System.out.println("orb_cuda succeed");
TemplateMatching temp_cuda = opencv_cudaimgproc.createTemplateMatching(opencv_core.CV_8UC1, opencv_imgproc.TM_SQDIFF);
System.out.println("temp_cuda succeed");
FarnebackOpticalFlow optflow_cuda = FarnebackOpticalFlow.create();
System.out.println("optflow_cuda succeed");
}
}
run
mat_cuda succeed
orb_cuda succeed
temp_cuda succeed
java.lang.UnsatisfiedLinkError: no jniopencv_ximgproc in java.library.path: [...]
at java.lang.ClassLoader.loadLibrary (ClassLoader.java:2670)
at java.lang.Runtime.loadLibrary0 (Runtime.java:830)
at java.lang.System.loadLibrary (System.java:1870)
at org.bytedeco.javacpp.Loader.loadLibrary (Loader.java:1631)
at org.bytedeco.javacpp.Loader.load (Loader.java:1265)
at org.bytedeco.javacpp.Loader.load (Loader.java:1109)
at org.bytedeco.opencv.global.opencv_ximgproc.<clinit> (opencv_ximgproc.java:31)
at java.lang.Class.forName0 (Native Method)
at java.lang.Class.forName (Class.java:398)
at org.bytedeco.javacpp.Loader.load (Loader.java:1176)
at org.bytedeco.javacpp.Loader.load (Loader.java:1109)
at org.bytedeco.opencv.opencv_cudaoptflow.DenseOpticalFlow.<clinit> (DenseOpticalFlow.java:57)
at Main.main (Main.java:17)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:254)
at java.lang.Thread.run (Thread.java:834)
Caused by: java.lang.UnsatisfiedLinkError: C:\Users\-\.javacpp\cache\opencv-4.3.0-1.5.3-windows-x86_64.jar\org\bytedeco\opencv\windows-x86_64\jniopencv_ximgproc.dll: The specified procedure could not be found
at java.lang.ClassLoader$NativeLibrary.load0 (Native Method)
at java.lang.ClassLoader$NativeLibrary.load (ClassLoader.java:2442)
at java.lang.ClassLoader$NativeLibrary.loadLibrary (ClassLoader.java:2498)
at java.lang.ClassLoader.loadLibrary0 (ClassLoader.java:2694)
at java.lang.ClassLoader.loadLibrary (ClassLoader.java:2627)
at java.lang.Runtime.load0 (Runtime.java:768)
at java.lang.System.load (System.java:1834)
at org.bytedeco.javacpp.Loader.loadLibrary (Loader.java:1581)
at org.bytedeco.javacpp.Loader.load (Loader.java:1265)
at org.bytedeco.javacpp.Loader.load (Loader.java:1109)
at org.bytedeco.opencv.global.opencv_ximgproc.<clinit> (opencv_ximgproc.java:31)
at java.lang.Class.forName0 (Native Method)
at java.lang.Class.forName (Class.java:398)
at org.bytedeco.javacpp.Loader.load (Loader.java:1176)
at org.bytedeco.javacpp.Loader.load (Loader.java:1109)
at org.bytedeco.opencv.opencv_cudaoptflow.DenseOpticalFlow.<clinit> (DenseOpticalFlow.java:57)
at Main.main (Main.java:17)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:254)
at java.lang.Thread.run (Thread.java:834)