-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Correct to pass frequency domain images to phase correlation? #10
Comments
Hi, it was so long ago ) |
Whithout FFT, phase correlation will give rotation and shift (scale must be the same). |
Tested version with 3/4 of FFT cleaned before polar transformation, looks like it becomes less robust to rotation, scale and offset ranges. |
Hi,
Thanks for the well-written code! In my testing, it seems that it performs decently well. While trying to understand the code however, I noticed that you apply DFT to transform the images into the frequency domain, where you apply the highpass filter. Subsequently however, the log-polar transformation is applied directly on the frequency domain image, and the frequency domain image is passed into
cv::phaseCorrelate
. I have attached the section of code below for reference.May I ask why the log-polar transformation and phaseCorrelate use the frequency domain image instead of the spatial domain image? I read the referenced papers (in particular [2]), and they seem to suggest using the spatial domain image instead. Moreover,
cv::phaseCorrelate
already seems to do a DFT inside, and so it seems like it should be taking in a spatial domain image instead. On the other hand the code does work in a number of test cases I tried, so I'm not sure if I'm missing some detail.Thanks!
(For reference, I'm referring to this section)
The text was updated successfully, but these errors were encountered: