Reddy Chatterji 논문에 설명 된대로 위상 상관을 사용하여 이미지 등록을 시도하고 있습니다. 필자의 경우 이미지가 서로 비례하여 크기가 조정되고 변환 될 수 있습니다.
내가 이해하는 것처럼 상대 척도를 찾는 알고리즘은 다음 과 같습니다 ( 논문의 흐름도 참조 ).
F1 = DFT(I1)
F2 = DFT(I2)
H1 = Highpass(F1)
H2 = Highpass(F2)
L1 = LogPolar(Magnitude(H1))
L2 = LogPolar(Magnitude(H2))
PC = PhaseCorrelate(L1,L2)
PM = norm(PC)
R = IDFT(PhaseCorr/PM)
P = Peak(R)
Scale = LogBase^P[1]
Scale은 겉보기에 무의미한 값을 제공합니다 (이미지마다 크게 다르며 절대로 수정하지 마십시오).
그러나 규모를 무시하면 동일한 위상 상관 방법이 변환에 적합합니다. 그래서 나는 로그 폴라 변환에 문제가 있다고 생각합니다. 다음은 번역을 위해 해결 한 예입니다. 왼쪽 이미지는 원본이고 오른쪽은 잘리고 번역되었습니다. 솔루션은 orignal 위에 표시됩니다.
로그 극좌표 변환의 경우 먼저 극좌표 공간으로 변환합니다. 여기서 원 화상이고, 인 이미지 반경 (반폭) 및 는 방향 의 샘플 수입니다 . 그런 다음 이것을 샘플링 극좌표 공간으로 변환합니다. 여기서 는 1에 설명 된대로 전체 극 공간에 걸쳐 있습니다.
다음은 로그 극좌표 공간의 이미지 예입니다 (눈에 띄게 잘못된 것이있는 경우).
마지막으로, 위상 상관 단계 이전에 이미지가 실제로 변환하는 것을 보여줍니다 (맨 위는 고역 통과 후 DFT 크기, 맨 아래는 로그 극좌표).
LogPolar 및 PhaseCorrelate 메소드가있는 OpenCV를 사용하고 있습니다. PhaseCorrelate는 수동 구현과 마찬가지로 번역에 대한 정답을 제공하지만 규모가 맞지 않습니다. OpenCV LogPolar 또는 내 자신의 사용은 정확성에 영향을 미치지 않으므로 뭔가 빠진 것이 틀림 없습니다.
도움을 주시면 감사하겠습니다.