2016-07-25 10 views
0

Ich versuche, den Flann-Matcher in opencv anpassen, indem Sie die Index-Parameter, aber ich benutze Java für Android, und ich weiß nicht, wie genau es funktioniert.
Ich fand diese answer aber ich weiß nicht, wie es hier in einer richtigen Weise anzuwenden ist der Code, den ichPassing Index Parameter für Flann Matcher mit opencv auf Android

String yamlParam="%YAML:1.0\n" 
      + "indexParams:\n" 
      + " -\n" 
      + "  name: algorithm\n" 
      + "  type: 23\n" 
      + "  value: 1\n" 
      + " -\n" 
      + "  name: trees\n" 
      + "  type: 4\n" 
      + "  value: 4\n"; 

    File outputF = File.createTempFile("FlannfDetectorParams", ".YAML", outputDir); 
    writeToFile(outputF,yamlParam); 
    descriptorMatcher.read(outputF.getPath()); 

versucht haben, und hier ist der Fehler ich

OpenCV Error: Assertion failed (sp.type() == FileNode::SEQ) in virtual void cv::FlannBasedMatcher::read(const cv::FileNode &)

Antwort

1
bekommen

Sie müssen das vollständige Format der Yml-Konfigurationsdatei verwenden:

%YAML:1.0 
--- 
format: 3 
indexParams: 
    - 
     name: algorithm 
     type: 23 
     value: 1 
    - 
     name: trees 
     type: 4 
     value: 4 
searchParams: 
    - 
     name: checks 
     type: 4 
     value: 32 
    - 
     name: eps 
     type: 5 
     value: 0. 
    - 
     name: sorted 
     type: 15 
     value: 1 
+0

es funktioniert, danke –