2014-01-15 2 views
1

저는 OpenCV를 파이썬으로 사용하고 있습니다. 그 문서가 날 죽이고있어. estimateRigidTransform을 올바르게 사용하려면 어떻게해야합니까?OpenCV python의 estimateRigidTransform

두 이미지 간의 유사성 변환을 추출하려고하므로 findHomography b/c를 사용할 수 없다고 가정합니다. 전단 등을 도입하고 싶지 않습니다. EstimateRigidTransform은 완벽한 후보로 보이지만 방금받은 것 같습니다. "없음"의 출력. 그것의 입력은 무엇입니까? 누구든지 간단한 경우에도 제대로 사용 했습니까? 나는 아무 소용이 서로 다른 데이터 유형에 대한 입력 조작을 시도했습니다

img1=cv2.imread('src.jpg') 
img2=cv2.imread('dst.jpg') 
H = cv2.estimateRigidTransform(img1, img2, False) 

:

내 코드 효과에 무언가이다. 나는 또한 키포인트를 입력 할 수 있습니까? 또는 일치하는 키포인트?

두 이미지의 간단한 예가 유용 할 것입니다 !! 감사합니다

답변

4

estimateRigidTransform에는 두 가지 작업 모드가 있습니다. 이미지 간의 일치 및 점 집합 간의 일치입니다. 이미지간에 일치 시키려면 두 이미지에서 관심 장소를 찾고 어느 지점을 어느 이미지와 일치시켜야하는지 찾아야합니다. 그렇게하기위한 일반적인 케이스 알고리즘을 만드는 시도에 감탄하지만 이것은 거의 불가능한 작업입니다. 따라서 estimateRigidTransform의 두 번째 모드, 즉 점 집합 사이의 일치를 사용하는 것이 좋습니다. 먼저, 이미지에서 관심 장소를 찾으십시오. 둘째, 다른 세트의 점들 사이의 일치를 찾으십시오. 셋째, estimateRigidTransform을 사용하여 변환 자체를 찾습니다. 포인트는 동일한 크기의 두 배열로 제공되어야합니다 (일치 지점은 일치하는 위치에 있어야합니다).

estimateRigidTransform의 this 문서를 사용할 수 있습니다. 그것은 간단하고 매우 설명적입니다.

0

예, 이미지에서 직접 변형 할 수 없으므로 먼저 두 이미지의 해당 키 포인트를 제공해야합니다.