Keypoint vom nativen Code zurückholen

Ich benutze OpenCV-SDK-Android. Ich möchte, dass mein nativer Code einen Schlüsselpunktvektor zurückgibt. Ist es richtig, Code wie diesen zu verwenden?

Vector<KeyPoint> keypoint = FindFeatures(Gray1.getNativeObjAddr(),descriptor.getNativeObjAddr());

und

public native Vector<KeyPoint> FindFeatures(long matAddrGr1, long matAddrGr2);

Mein Natice Code ist

extern "C" {
JNIEXPORT Vector<KeyPoint> JNICALL Java_com_example_xyz_MainActivity_FindFeatures(JNIEnv*, jobject, jlong addrGray1, jlong addrdescrptor);

JNIEXPORT Vector<KeyPoint> JNICALL Java_com_example_xyz_MainActivity_FindFeatures(JNIEnv*, jobject, jlong addrGray1, jlong addrdescrptor)
{
    Mat& mGr1  = *(Mat*)addrGray1;
    Mat& descriptors_1 = *(Mat*)addrdescrptor;
    vector<KeyPoint> keypoint_1;

    //Do some processing here..

   return keypoint_1;
}
}

Wenn nicht, schlagen Sie mir bitte einen alternativen Weg vor, um dies zu erreichen. bin neu in opencv.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage