OpenCV ORB detector findet nur sehr wenige Eckdaten

Ich versuche, die Kugel Knackpunkt Detektor und es scheint wieder viel weniger Punkte als der SIFT-Detektor und der FAST-Detektor.

Dieses Bild zeigt die Eckdaten der ORB-Detektor:

OpenCV ORB detector findet nur sehr wenige Eckdaten

... und dieses Bild zeigt die Eckdaten der SIFT-detection-Phase (SCHNELLE gibt eine ähnliche Anzahl von Punkten).

OpenCV ORB detector findet nur sehr wenige Eckdaten

Dass so ein paar Punkte führt zu sehr schlechten feature matching-Ergebnisse in den Bildern. Ich bin einfach nur neugierig über den Nachweis der Bühne der ORB jetzt aber, weil, wie es scheint, bin ich immer falsche Ergebnisse. Ich habe versucht, mit ORB-detector mit Standard-Parameter und benutzerdefinierte Parameter unten als auch.

Warum so ein großer Unterschied?

Code:

orb = cv2.ORB_create(edgeThreshold=15, patchSize=31, nlevels=8, fastThreshold=20, scaleFactor=1.2, WTA_K=2,scoreType=cv2.ORB_HARRIS_SCORE, firstLevel=0, nfeatures=500)
#orb = cv2.ORB_create()
kp2 = orb.detect(img2)
img2_kp = cv2.drawKeypoints(img2, kp2, None, color=(0,255,0), \
        flags=cv2.DrawMatchesFlags_DEFAULT)

plt.figure()
plt.imshow(img2_kp)
plt.show()
  • Nur senken die Schwelle.
  • Ich glaube nicht, dass ist das Problem. Ich habe versucht, die Absenkung der beiden Schwellenwerte und es macht keinen signifikanten Unterschied in der Anzahl der wesentlichen Punkte erkannt.
  • Hmmm. Was scoreType=cv2.ORB_HARRIS_SCORE -> FAST_SCORE? Als offtop, könnte ich empfehlen, zu versuchen, AKAZE Detektor/Deskriptor - es ist robust und schnell.
InformationsquelleAutor coderunner | 2015-09-21
Schreibe einen Kommentar