2016-04-11 20 views
0

Ich habe 'stereo_match' durch den g ++ - Compiler.Ausführen von stereo_match.cpp von OpenCV_Sample

Meine Umgebung ist:

  • Ubuntu 15.1 Von VirtualBox
  • OpenCV 3.1.0

Ich weiß nicht, den laufenden Befehl. Ich habe versucht:

./stereo_match --left left12.jpg --right right12.jpg --method BM --ndisp 32. 

Aber es ist fehlgeschlagen mit Fehler:

OpenCV Error: Bad argument (undeclared position 0 requested) in getByIndex, file /home/usera/opencv-3.1.0/modules/core/src/command_line_parser.cpp line 169

terminate called after throwing an instance of 'cv::Exception'
what(): /home/usera/opencv-3.1.0/modules/core/src/command_line_parser.cpp:169: error: (-5) undeclared position 0 requested in function getByIndex

Aborted (core dumped)

+0

Dies scheint ein Fehler in 'cv :: CommandLineParser' zu sein - ich habe nur meine Eingabedateinamen in der Quelle (yuck) fest programmiert - ich habe keine Zeit, den Fehler für jetzt zu verfolgen. – wcochran

Antwort

2

Dies wird durch einen falschen Parser Schlüsselzeichenfolge verursacht. Es fehlt die Positionsargumente für die beiden Dateinamen

In "stereomatch.cpp" statt (die wichtigsten Parameter!):

cv::CommandLineParser parser(argc, argv, 
    "{help h||}{algorithm||}{max-disparity|0|}{blocksize|0|}{no-display||}{scale|1|}{i||}{e||}{o||}{p||}"); 

sollte es lesen:

cv::CommandLineParser parser(argc, argv, 
    "{@image1||} {@image2||} {help h||}{algorithm||}{max-disparity|0|}{blocksize|0|}{no-display||}{scale|1|}{i||}{e||}{o||}{p||}"); 

trivial Fehler, vielleicht ein Rest von einer früheren Version.