2 개의 이미지를 통해 계산 된 호모 그래피와 동일한 이미지를 통해 거꾸로 계산 된 호모 그래피는 어떤 관계가 있습니까?


9

OpenCV를 사용하면 이 두 이미지 사이의 호모 그래피를 계산합니다.

첫 이미지

두 번째 이미지

오른쪽의 이상한 흰색 모양에 대해 걱정하지 마십시오. 사용하는 스마트 폰 홀더 때문입니다. 주어진 호모 그래피, findHomography () 함수 (사용한 점을 검출 빠른 특징 검출기 및 HammingLUT 디스크립터 정합 )이다 :

A = [ 1.412817430564191,  0.0684947165270289,  -517.7751355800591;
     -0.002927297251810,  1.210310757993256,     39.56631316477566;
      0.000290600259844, -9.348301989015293e-05,  1]

이제 동일한 프로세스를 사용하여 imagemagick를 사용하여 180도 (거꾸로) 회전 한 동일한 이미지 사이의 호모 그래피를 계산합니다 ( 실제로 90도 또는 270도 ...). 여기 있습니다:

첫 번째 이미지가 거꾸로

두 번째 이미지가 거꾸로

이 이미지를 사용하면 호모 그래피가 다음과 같이됩니다.

B = [ 0.7148688519736168,  0.01978048500375845,  325.8330631554814;
     -0.1706219498833541,  0.8666521745094313,    64.72944905752504;
     -0.0002078857275647, -5.080048486810413e-05,  1]

이제 문제는 A와 B를 어떻게 연관 시키는가입니다. A의 두 개의 첫 번째 대각선 값은 B에서와 반대의 값에 가깝지만 매우 정확 하지는 않습니다 (0.71486885 대신 .707805537). 내 궁극적 인 목적은 값 비싼 이미지 회전을 계산하지 않고 원하는 관계를 사용하여 최종 행렬을 변환하는 것입니다.

답변:


4

호모 그래피 행렬 식 볼 때 생각 : 되는 회전 행렬이며 관련 회전 ; 는에서 ~ 까지의 번역 벡터입니다

H=아르 자형
아르 자형; 는 평면의 법선 벡터와 평면까지의 거리입니다 ( 호모 그래피 -3D 평면 대 평면 방정식 참조 ).

두 행렬 사이의 관계는 평면의 법선 벡터에 있습니다. 따라서 평면의 법선 벡터 (호모 그래피 매트릭스 외부)를 가져 와서 회전을 적용한 다음 위의 공식을 사용하여 호모 그래피 매트릭스를 계산해야합니다. 호모 그래피 행렬의 정확한 분해를 들어 볼 수 이러한 코드 샘플이 논문 .


나는 당신이 무엇을 의미하는지 이해하지 못합니다. 방정식에서 나는 Mat invT = 1./t; Mat n = invT.t() * (H - R);(실제로) 의 법선을 얻었습니다 n/d. 이제 "회전을 적용"하면 3x1 벡터가 생성되지만 호모 그래피 행렬을 다시 계산하는 데 어떻게 사용할 수 있습니까? 감사합니다
Stéphane Péchard 7

더 많은 정보가 추가되었으므로 명확하게 바랍니다.
Geerten

왜 + t / d가 아닌 -t / d입니까?
Maystro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.