Exception in thread "main" java.lang.UnsatisfiedLinkError: ORB.create_0 (IFIIIIIII) J

asked 2017-07-14 14:05:45 -0600

updated 2017-07-14 15:54:40 -0600

In the use of opencv, I have to solve Exception in thread "main" java.lang.UnsatisfiedLinkError: ORB.create_0 (IFIIIIIII) J Please!!! I need to send as a parameter the number of points to detect.

Thank you

***Code****

class descriptorOrb {

static {
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}

public static void main(String[] args) {

    ORB orbE = ORB.create(2000, 1.3f, 9, 32, 0, 2, ORB.HARRIS_SCORE, 35, 22);
}

}

public class ORB extends Feature2D {

protected ORB(long addr) { super(addr); }

public static final int
        HARRIS_SCORE = 0;

public static ORB create(int nfeatures, float scaleFactor, int nlevels, int edgeThreshold, int firstLevel, int WTA_K, int scoreType, int patchSize, int fastThreshold) { ORB retVal = new ORB(create_0(nfeatures, scaleFactor, nlevels, edgeThreshold, firstLevel, WTA_K, scoreType, patchSize, fastThreshold));

    return retVal;
}

public static ORB create()
{

    ORB retVal = new ORB(create_1());

    return retVal;
}

private static native long create_0(int nfeatures, float scaleFactor, int nlevels, int edgeThreshold, int firstLevel, int WTA_K, int scoreType, int patchSize, int fastThreshold);
private static native long create_1();

}

*Error

Exception in thread "main" java.lang.UnsatisfiedLinkError: ORB.create_0(IFIIIIIII)J at ORB.create_0(Native Method) at ORB.create(ORB.java:30) at descriptorOrb .main(surf.java:88) at descriptorOrb .reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

edit retag flag offensive close merge delete

Comments

where did you find that ORB class ? it's not part of the api

also, what are you trying to do there, in general ?

berak gravatar imageberak ( 2017-07-14 23:27:17 -0600 )edit

What you tried to do was to send a certain number of points for the ORB detector as a parameter. Correct, not in the API that is my mistake. The ORB class was found in an example.

Thank you very much for your help.

Marichelo gravatar imageMarichelo ( 2017-07-14 23:51:59 -0600 )edit

I solved the problem when using another version of opencv.

Marichelo gravatar imageMarichelo ( 2017-07-14 23:52:56 -0600 )edit