Wie bekomme ich 3D -Punkte von 2D -Punktpaaren und fundamentalen Matrix?
Posted: 03 Mar 2025, 02:42
Ich versuche, Objekte aus Internetfotos zu rekonstruieren. In den meisten Fällen habe ich nur zwei Bilder, also suche ich nach Methoden, die 3D -Punkte aus einem Bildernpaar berechnen können. IIUC, dies ist der erste Schritt bei der Herstellung einer 3D -Rekonstruktion ... aber ich bin mir nicht sicher, was zu tun ist Nächstes . von den Bildern, die eine Reihe von parallelen Linien bilden sollten. Bitte unterlassen Sie Antworten, für die ein Buch gekauft werden muss.
Beachten Sie, dass dies Working Code ist. Das einzige "Problem" ist, dass ich nicht weiß, was ich als nächstes tun soll, jetzt, wo ich PTS1 , pts2 und f habe.>
Code: Select all
def readMatches(...):
# Returns a set of (manually annotated) point matches
# sufficient for computing the fundamental matrix.
def computePose(pts1, pts2):
pts1 = np.int32(pts1)
pts2 = np.int32(pts2)
F, mask = cv.findFundamentalMat(pts1, pts2, cv.FM_LMEDS)
pts1 = pts1[mask.ravel() == 1]
pts2 = pts2[mask.ravel() == 1]
return pts1, pts2, F
if __name__ == '__main__':
pts1, pts2 = readMatches(...)
pts1, pts2, F = computePose(pts1, pts2)
# What do I do here?