2017-08-08 4 views
1

Je génère une série de marqueurs aruco DICT_4X4_50 et je les imprime mais quand je lance le détecteur sur cette image par exemple, ça ne marche pas .. Bien que le marqueur soit assez visible :Pourquoi aruco ne détecte pas les marqueurs dans mon image

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); 

} 

l'image est pas assez bon ou est-il des paramètres que je peux modifier?

+1

avez-vous étalonné l'appareil photo? –

+0

@ ΦXocę 웃 Пepeúpa ツ Non je n'ai pas encore calibré mon appareil photo mais je veux juste détecter le marqueur en ce moment et cela fonctionne quand je lui donne une belle image claire –

+1

essayez de le faire fonctionner dans un bon éclairage d'abord – chris

Répondre

0

J'ai vérifié le rejectedCandidates et j'ai découvert qu'il détectait le marqueur mais il a été rejeté pour une raison quelconque!

Donc je suis passé à un autre marqueur qui est Apriltags et ça donne de meilleurs résultats .. Je ne sais pas quelle bibliothèque est la meilleure mais continuez à essayer et voyez laquelle fonctionne bien pour vous.

0

Les coins de votre marqueur ne sont pas visibles pour l'algorithme; C'est à peine visible pour nous. Si elles le sont, vous êtes en train d'inférer simplement leur position.