2016-07-25 6 views
0

Я пытаюсь настроить фланг-маркер в opencv путем редактирования параметров индекса, но я использую java для android, и я не знаю, как именно он работает.
Я нашел это answer, но я не знаю, как применить его в правильном пути вот код, который я пыталсяПередача указателя Параметры для фланелевого сопоставления с использованием opencv на 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()); 

и вот ошибка я получаю

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

ответ

1

Вы должны использовать полный формат конфигурационного файла yml:

%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

это работает, спасибо –