스테레오 비전 (2 IR 카메라)에서 파생 된 3D 점 좌표를 생성하는 작은 파이썬 스크립트를 만들었습니다. 3D 좌표가 정확합니다.3D 점의 문제 점 2D 대응
이제 제 3의 RGB 카메라가 있는데 보정 매트릭스가 주어졌습니다. K는 내장 함수의 행렬이고 R, t는 외인 매개 변수의 구성 요소입니다. RGB 이미지는 1280x800입니다.하지만 적절한 서신을 설정할 수는 없습니다.
프로젝션 수식을 사용하여 Pcolor = K [R | t] 으로 프로젝션 매트릭스 "Pcolor"를 유도하고 다음과 같이 XYZ 3D 좌표 ("Pworld")를 다시 투영하는 것이 쉬운 것으로 생각했습니다.
나는 (u, v, w)를 얻을 것으로 예상되므로 w로 나누는 결과를 정규화했습니다.
#import numpy as np
ExtrColor = np.concatenate((Rcolor,Tcolor), axis = 1)
#Rcolor is the 3x3 rotation matrix, Tcolor the column translation array
# after calculation of X,Y,Z
Pworld = np.matrix([[X], [Y], [Z], [1]])
Pcolor = np.dot((np.dot(Kcolor,ExtrColor)),Pworld)
u = round(Pcolor[0,0]/Pcolor[2,0])
v = round(Pcolor[1,0]/Pcolor[2,0])
그럼 난 12000 대신 화상 (X 및 Y < 1,280 < 800)의 범위가되는보다
U 및
V 값을 구하였습니다. 문제점을 파악할 수 없습니다. 누구도 비슷한 문제가 있습니까? XYZ 좌표에서 스케일 인자의 문제에 대해 생각하지 않는다. 문제의 공식화에 비효율적이어야한다. np.dot을 사용하는 데 문제가 있습니까? 나는 그것이 작은 오류다고 확신하지만 나는 그것을 볼 수 없다.
답장을 보내 주셔서 감사합니다 (영어로는 불쌍합니다)!
스택 오버플로에서 비슷한 질문을 확인했습니다. here 문제는 비슷하지만 방법이 다릅니다. IR (두 개의 카메라 교정 : 문제는이 것 같다 : 가능한 경우
PS는 이번에는 내가