Возвращение ключевой точки из нативного кода
Я использую OpenCV-SDK-Android. Я хочу, чтобы мой родной код возвращал вектор ключевых точек. Правильно ли использовать такой код?
Vector<KeyPoint> keypoint = FindFeatures(Gray1.getNativeObjAddr(),descriptor.getNativeObjAddr());
а также
public native Vector<KeyPoint> FindFeatures(long matAddrGr1, long matAddrGr2);
Мой код-это
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;
}
}
Если нет, пожалуйста, предложите мне альтернативный способ добиться этого. Я новичок в OpenCV.