07-13-2011 08:17 AM
Hi,
I'm curious as to how the cross correlation vi works in the frequency domain. I understand with the direct method it is matching the pixels looking for the best correlation. Does it compare the power spectrum of the two images in the frequency domain? Is it possible to have a 'search area' in the frequency domain as is possible with the direct method? I'm interested in doing 2D cross correlation for image stitching and wanted to test out the speed of this system in the frequency domain, since it is considerably slow using the direct method.
Solved! Go to Solution.
07-14-2011 04:31 AM
Hello Nik1,
Here is what I found in the help file of the function:
"algorithm specifies the correlation method to use.
When algorithm is direct, this VI computes the cross correlation using the direct method of linear correlation.
When algorithm is frequency domain, this VI computes the cross correlation using an FFT-based technique.
If X and Y are small, the direct method typically is faster.
If X and Y are large, the frequency domain method typically is faster."
I hope this helps,
Kind Regards,
Michael S.
Applications Engineer
NI UK & Ireland
07-14-2011 04:54 AM
Hi Saphe,
Yes I have seen this, it isn't particularly insightful. I have also read through the fast-fourier transform section of the NIVisions Concepts Manual, it was informative with regards to how FFT works but didn't actually say how labview does a correlation in the frequency domain.
07-14-2011 10:08 AM - edited 07-14-2011 10:16 AM
Hello Nik1,
Unfortunately the complete method is enclosed in a DLL within the function, so I cannot really reveal much, apart from that in the frequency domain we do estimate the power spectrum of the time series for the comparison - as you suspected. However, looking at other resources I found some more details that might help you. Have a look at the article linked below:
Let me know your thoughts.
Kind Regards,
Michael S.
Applications Engineer
NI UK & Ireland
07-14-2011 10:58 AM
Yeah... I was more interested in the method enclosed in the DLL 😛 . Anyway, thanks for the link.