OpenCV Q&A Forum - RSS feedhttp://answers.opencv.org/questions/OpenCV answersenCopyright <a href="http://www.opencv.org">OpenCV foundation</a>, 2012-2018.Wed, 08 Nov 2017 17:22:29 -0600Shape Matching using Discrete Fourier Transformhttp://answers.opencv.org/question/177945/shape-matching-using-discrete-fourier-transform/This is the very first time messing around with DFTs so apologizes inadvance if the Math just flies over my head or my question sounds rather stupid.
**Disclaimer:** I have not used [OpenCV API][1] for any DFT related steps stated below
---
What I have done so far
Let *T* represent the template image and *S* be an image I get from the camera feed
1. Grabbed the contours from *T*
2. Applied DFT on them
3. Made the attained DFTs scale invariant by dividing them with their magnitude i.e. `F[i] = F[i]/|F[i]|`
4. Computed their magnitude spectrum
5. Log-polar transformed the magnitudes and calculated the phases i.e. angles
---
My questions are:
1. Just to confirm, after performing Step 2, my attained descriptors are translation invariant correct?
2. How do I make them rotation invariant?
3. Now this is where I get really confused. After reading a couple papers on image registration, Steps 4 and 5 are needed. This is in order to calculate the phase correlation then trying to maximize this value. For my application, is this really necessary? Or do I just have to make the descriptors rotation invariant then calculate the euclidean distance to the descriptors of *S* and trying to minimize this value my final step?
---
Any help/suggestions are sincerely appreciated!
[1]: https://docs.opencv.org/3.2.0/d2/de8/group__core__array.html#gadd6cf9baf2b8b704a11b5f04aaf4f39deshirimaWed, 08 Nov 2017 17:22:29 -0600http://answers.opencv.org/question/177945/