Können Sie in diesem Beispiel von CV.Match Werte von Imgidx und Trainidx erklären?Python

Python-Programme
Anonymous
 Können Sie in diesem Beispiel von CV.Match Werte von Imgidx und Trainidx erklären?

Post by Anonymous »

Dieses OpenCV -Python -Skript: < /p>

Code: Select all

import numpy as np, cv2 as cv

bf = cv.BFMatcher(cv.NORM_L1, crossCheck=False)
bf.add(np.array([[0], [1], [2]], dtype='f4'))  # train image 0
bf.add(np.array([[0.1], [1.1], [2.1]], dtype='f4'))  # train image 1
bf.train()

src = np.array([[0], [1.1], [2.1]], dtype='f4')
matches = bf.match(src)

for m in matches:
print(m.distance, m.queryIdx, m.imgIdx, m.trainIdx)
Versucht, SRC Deskriptoren eines Bildes zu entsprechen, die für Klarheit stark vereinfacht wurden, mit Deskriptoren von Bild 0 und 1 zum Training von Cv.bfMatcher . Hier ist das Ergebnis: < /p>

Code: Select all

0.0 0 0 0
0.0 1 4 0
0.0 2 5 0
Warum M.TrainIdx immer Null ist, trotz zwei Zugbildern, die mit bf.add hinzugefügt wurden? Gibt es eine Möglichkeit, Deskriptoren in bfMatcher in Gruppen, die zu individuellen Trainingsbildern gehören, unterteilt zu haben? Wenn ja, können Sie das Ergebnis nicht überschreiten Gruppengrenzen, d. H. Alle Übereinstimmungen entstehen Deskriptoren aus einem einzigen Trainingsbild? https://docs.opencv.org/4.10.0/dc/dc3/t ... tcher.html:

[*]DMatch.Trainidx - Index des Deskriptors in den Deskriptors
in Queryli> [*]

DMatch.imgidx-Index des Zugbildes. Der Versuch, etwas Traktion zu bekommen und wird den anderen Beitrag löschen, sobald die Antwort irgendwo erscheint.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post