2017-08-04 3 views
0

irgendwie Erkennung Charuco Diamanten funktioniert nicht mit größeren Bildern für mich. Mit meinen Originalbildern von 1920x1080 erkennt es die Ids nicht zuverlässig (die Diamond-Ids-Elemente wechseln jedes Mal). Im ersten Bild sehen Sie, dass es erkennt (7, 9, 45, 2).OpenCV: Charuco (Diamanten) funktioniert nicht auf größeren Bildern. Welche Parameter müssen eingestellt werden?

1920x1080 image. wrong ids order and pose estimation

Dann habe ich versucht, die Bilder zu 960x540 Abwärtsabtastens und Dividieren der Kalibrierung params, f, c, auf die Hälfte, und es funktioniert! Die ID wird korrekt als (2,7,45,9) erkannt und die Pose-Schätzung ist korrekt.

960x540 image. correctly estimated

Wie es für größere Bilder funktioniert? Ich habe versucht, die Erkennungsparameter abhängig von absoluten Pixeleinheiten zu ändern (nicht relativ zur Bildgröße). Hier ist eine Liste meiner aktuellen Parameter. Ich erkannte, dass die Vergrößerung der Fenstergröße für das Threasholding hilft, die Quadrate zu erkennen, aber nicht für die ID- oder Pose-Schätzung.

nmarkers: 1024 adaptiveThreshWinSizeMin: 13 adaptiveThreshWinSizeMax: 113 adaptiveThreshWinSizeStep: 10 adaptiveThreshWinSize: 42 adaptiveThreshConstant: 7 minMarkerPerimeterRate: 0.1 maxMarkerPerimeterRate: 4.0 polygonalApproxAccuracyRate: 0.05 minCornerDistance: 10.0 minDistanceToBorder: 10 minMarkerDistance: 10.0 minMarkerDistanceRate: 0.05 doCornerRefinement: false cornerRefinementWinSize: 5 cornerRefinementMaxIterations: 30 cornerRefinementMinAccuracy: 0.1 markerBorderBits: 1 perspectiveRemovePixelPerCell: 8 perspectiveRemoveIgnoredMarginPerCell: 0.13 maxErroneousBitsInBorderRate: 0.04 minOtsuStdDev: 5.0 errorCorrectionRate: 0.6 Irgendwelche Hinweise?

danke!

Antwort

0

Am Ende musste ich das opencv-aruco-Modul patchen. Es handelte sich um eine bestimmte Schwelle, die zu schnell (bis zur 4.) zur Bildgröße eskalierte (closestCandidateDistance in refineDetectedMarkers). Die Lösung bestand darin, minRepDistance in detectCharucoDiamond nur linear mit der Bildgröße skalieren zu lassen.

Volle Antwort und Patch in der opencv forum.

Verwandte Themen