2015-03-27 4 views
2

Я написал код ниже, чтобы получить представление об обнаружении функции. , но я не мог понять, зачем нам нужен объект MatOfMatch, для чего он нужен?Для чего нужен объект MatOfMatch?

Код

public static void main(String[] args) { 
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 

    Mat img_0 = Highgui.imread(PATH_0); 
    Mat img_0_rev = Highgui.imread(PATH_1); 
    Mat img_output = new Mat(); 

    FeatureDetector fDetect = FeatureDetector.create(FeatureDetector.SIFT); 

    MatOfKeyPoint mKeyPoints_0 = new MatOfKeyPoint(); 
    fDetect.detect(img_0, mKeyPoints_0); 
    System.out.println("mKeyPoint_0: " + mKeyPoints_0.size()); 

    MatOfKeyPoint mKeyPoints_1 = new MatOfKeyPoint(); 
    fDetect.detect(img_0_rev, mKeyPoints_1); 
    System.out.println("mKeyPoint_1: " + mKeyPoints_1.size()); 

    MatOfDMatch mDMatch = new MatOfDMatch(); 

    //Features2d.drawKeypoints(mKeyPoints_0, mKeyPoints_0, outImage, Scalar color, Features2d.DRAW_RICH_KEYPOINTS); 
    Features2d.drawMatches(img_0, mKeyPoints_0, img_0_rev, mKeyPoints_1, mDMatch, img_output); 

ответ

3

Я не совсем знаком с Java API, но я думаю, этот процесс похож на любом языке.

Если вы хотите только обнаружить функции (ключевые точки), тогда вам не нужно использовать совпадения.

Но, если вы хотите, чтобы соответствовали, функции между двумя изображениями тогда есть немного больше.

общие шаги заключаются в следующем:

  1. Обнаружить особенности (ключевые точки) на изображениях с помощью детектора функции.
  2. Вытяните дескрипторы ваших ключевых точек с помощью дескриптора.
  3. Сравнение дескрипторов для создания совпадений (DMatch) с использованием дескриптора.
  4. Сортируйте свои лучшие матчи и нарисуйте их.
+0

спасибо, что я последовал этим шагам, и я получил его, но все же есть много функций, ложно сопоставленных с другими, и я не знаю, как его исправить ... можете ли вы предложить какие-либо предложения. вопрос здесь: http: //stackoverflow.com/questions/29536493/how-to-get-correctly-matched-features – rmaik

Смежные вопросы