Я реализовал приложение openCV, где я использую дескриптор SURF. Он отлично работает, код выглядит следующим образом:
Я уменьшаю размер входного видеопотока, чтобы ускорить его.
capture.set(Highgui.CV_CAP_PROP_FRAME_WIDTH, display.getWidth());
capture.set(Highgui.CV_CAP_PROP_FRAME_HEIGHT, display.getHeight());
capture.retrieve(mRgba, Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA);
try{
//-- Step 1: Detect the keypoints using SURF Detector
surfDetector.detect( mRgba, vector1 );
for (KeyPoint t : vector1)
Core.circle(mRgba, t.pt, 10, new Scalar(100, 100,100));
//-- Step 2: Calculate descriptors (feature vectors)
//extractor.compute(mRgba, vector1, descriptor1);
//-- Draw matches
//Mat img_matches;
//drawMatches( mRgba, vector1, mRgba, vector1, matches, img_matches );
}catch(Exception e){
Log.e( "ERROR", e.toString());
}
Но расчет по-прежнему слишком медленный, поэтому мне нужно найти еще один метод для снижения достоверности входного видеопотока. Или, если вы знаете другой способ ускорить его, не стесняйтесь делиться им со мной;)
Спасибо за ваше время и ответы