phaseCorrelate documentation patch by Will Lucas #2017

This commit is contained in:
Andrey Kamaev
2012-06-05 06:02:50 +00:00
parent 5b2db8e75b
commit 40c779fcf5

View File

@@ -161,11 +161,10 @@ Return value: detected phase shift (sub-pixel) between the two arrays.
The function performs the following equations The function performs the following equations
* * First it applies a Hanning window (see http://en.wikipedia.org/wiki/Hann\_function) to each image to remove possible edge effects. This window is cached until the array size changes to speed up processing time.
First it applies a Hanning window (see http://en.wikipedia.org/wiki/Hann\_function) to each image to remove possible edge effects. This window is cached until the array size changes to speed up processing time.
* Next it computes the forward DFTs of each source array:
*
Next it computes the forward DFTs of each source array:
.. math:: .. math::
\mathbf{G}_a = \mathcal{F}\{src_1\}, \; \mathbf{G}_b = \mathcal{F}\{src_2\} \mathbf{G}_a = \mathcal{F}\{src_1\}, \; \mathbf{G}_b = \mathcal{F}\{src_2\}
@@ -173,22 +172,23 @@ The function performs the following equations
where where
:math:`\mathcal{F}` is the forward DFT. :math:`\mathcal{F}` is the forward DFT.
* * It then computes the cross-power spectrum of each frequency domain array:
It then computes the cross-power spectrum of each frequency domain array:
.. math:: .. math::
R = \frac{ \mathbf{G}_a \mathbf{G}_b^*}{|\mathbf{G}_a \mathbf{G}_b^*|} R = \frac{ \mathbf{G}_a \mathbf{G}_b^*}{|\mathbf{G}_a \mathbf{G}_b^*|}
* * Next the cross-correlation is converted back into the time domain via the inverse DFT:
Next the cross-correlation is converted back into the time domain via the inverse DFT:
.. math:: .. math::
r = \mathcal{F}^{-1}\{R\} r = \mathcal{F}^{-1}\{R\}
*
Finally, it computes the peak location and computes a 5x5 weighted centroid around the peak to achieve sub-pixel accuracy. * Finally, it computes the peak location and computes a 5x5 weighted centroid around the peak to achieve sub-pixel accuracy.
.. math:: .. math::
(\Delta x, \Delta y) = \texttt{weighted_centroid}\{\arg \max_{(x, y)}\{r\}\} (\Delta x, \Delta y) = \texttt{weightedCentroid} \{\arg \max_{(x, y)}\{r\}\}
.. seealso:: .. seealso::
:ocv:func:`dft`, :ocv:func:`dft`,