2017-08-08 2 views
1

Ich erzeuge eine Reihe von Aruco-Markierungen DICT_4X4_50 und ich drucke sie, aber wenn ich den Detektor auf diesem Bild zum Beispiel starten, funktioniert es nicht .. Obwohl die Markierung ist ziemlich sichtbar :Warum Aruco keine Markierungen in meinem Bild erkennt

enter image description here

int main(int argv, char** argc) 
{ 
    Mat frame = imread(argc[1], CV_LOAD_IMAGE_COLOR); 

    vector<int> markerIds; 
    vector<vector<Point2f>> markerCorners, rejectedCandidates; 

    Ptr<aruco::Dictionary> markerDictionary = aruco::getPredefinedDictionary(aruco::PREDEFINED_DICTIONARY_NAME::DICT_4X4_50); 

    aruco::detectMarkers(frame, markerDictionary, markerCorners, markerIds); 


    aruco::drawDetectedMarkers(frame, markerCorners, markerIds); 
    imshow("Webcam", frame); 
    waitKey(0); 

} 

ist das Bild nicht gut genug oder gibt es einige Parameter ich ändern kann?

+1

haben Sie die Kamera kalibriert? –

+0

@ ΦXocę 웃 Пepeúpa ツ Nein, ich habe meine Kamera noch nicht kalibriert, aber ich möchte nur den Marker im Moment erkennen und es funktioniert, wenn ich ihm ein schönes klares Bild gebe –

+1

versuche, es in guter Beleuchtung zu arbeiten zuerst – chris

Antwort

0

Ich habe die rejectedCandidates überprüft und ich fand heraus, dass es den Marker erkennt, aber es wurde aus irgendeinem Grund abgelehnt!

Also zog ich zu einem anderen Marker, der Apriltags ist und es gibt bessere Ergebnisse .. Ich weiß nicht, welche Bibliothek ist die beste da draußen, aber versuchen Sie weiter und sehen Sie, welche für Sie gut funktioniert.

0

Die Ecken Ihres Markers sind für den Algorithmus nicht sichtbar; Es ist kaum sichtbar für uns. Wenn dies der Fall ist, leiten Sie Ihre Meinung einfach auf ihre Position zurück.

Verwandte Themen