핸드 헬드 카메라에서 찍은 두 개의 이미지를 정렬하려고합니다.FFT 기반 이미지 등록 (선택적으로 OpenCV 사용)?
처음에는 SIFT/SURF 기능 지점을 기반으로 OpenCV warpPerspective
방법을 사용하려고했습니다. 문제는 화질이 높을 때 특징 추출 & 일치 프로세스가 매우 느릴 수 있다는 것입니다 (3000x4000). 나는 특징점을 찾기 전에 이미지 크기를 줄이려고 시도했으나 결과는 이전처럼 좋지 않습니다. findHomography
에서 생성 된 Mat
은 이미지 크기를 줄이면 영향을받지 않습니다. 좋은 특징점이 일치하면 결과가 이상합니다.
이 항목을 검색 한 후 푸리에 도메인에서 문제를 해결하면 등록 프로세스가 빨라질 것으로 보입니다. 그리고 나는 code here로 나를 안내하는 this question을 발견했습니다.
유일한 문제는 코드가 꽤 열심히 OpenCV의에서, 나는 단지 dft
을 찾아 더 fftshift
가 없습니다 수 (OpenCV의를 사용하여 C++ 코드를 재 작성 할 수 있습니다 (심지어 OpenCV의 사용 안 함) NumPy와 함께 파이썬으로 작성된다 또한 fft
물건, 나는 NumPy에 대해 잘 알고 있지 않으며, 단순히 누락 된 방법을 무시할 정도로 용감하지 않습니다.) 그래서 C++을 사용하여 푸리에 도메인 이미지를 구현하지 않는 이유가 궁금합니다.
당신이 저에게 구현 방법에 대한 제안이나 이미 구현 된 C++ 버전에 대한 링크를 제공 할 수 있습니까? 아니면 파이썬 코드를 C++ 코드로 바꾸는 데 도움이 될까요?
큰 감사!
동의 - 푸리에 공간의 상관 관계는, 간단한 번역, 회전 허용 규모 어렵고 거의 쓸모 투사에 가장 적합합니다. * 진짜 * 질문에 대답하려고 시도한 +1. –
감사합니다. 데이비드, 다른 추출기에 시도해보기로했습니다. 그것이 이미지 등록, 언제 어느 탐지기/추출기 조합이 가장 좋아하는지에 관해서 궁금합니다. –
이미지 내용에 따라 다르지만, 나는 같은 관점에서 가까운 이미지에서 많은 성공을 거두기 위해 FAST/FREAK를 사용했습니다. 또한 ORB를 사용하여 시도했지만 잘못된 일치 항목이 많았지 만 비정상적으로 제거 된 후에는 SIFT와 매우 비슷하게 빠르게 수행되었습니다. –