Image Registration: Difference between revisions

From David's Wiki
No edit summary
No edit summary
Line 7: Line 7:
We want to find a rotation and translation from <math>(x,y)</math> to <math>(x',y')</math> such that <math>I_1(x,y) = I_2(x', y')</math>.<br>
We want to find a rotation and translation from <math>(x,y)</math> to <math>(x',y')</math> such that <math>I_1(x,y) = I_2(x', y')</math>.<br>
This is represented as:<br>
This is represented as:<br>
<math> x' = a_1 x + a_2 y + a_3</math><br>
\[
<math> y' = a_4 x + a_5 y + a_6</math><br>
\begin{align}
x' &= a_1 x + a_2 y + a_3\\
y' &= a_4 x + a_5 y + a_6
\end{align}
\]
This can also be written as:<br>
This can also be written as:<br>
<math>
<math>
Line 29: Line 33:
See Wolberg and Zokai<ref name="wolberg2000robust">George Wolberg, and Siavash Zokai. ''Robust Image Registration Using Log-Polar Transform'' URL:[https://home.cis.rit.edu/~cnspci/references/wolberg2000.pdf https://home.cis.rit.edu/~cnspci/references/wolberg2000.pdf].
See Wolberg and Zokai<ref name="wolberg2000robust">George Wolberg, and Siavash Zokai. ''Robust Image Registration Using Log-Polar Transform'' URL:[https://home.cis.rit.edu/~cnspci/references/wolberg2000.pdf https://home.cis.rit.edu/~cnspci/references/wolberg2000.pdf].


\(
\DeclareMathOperator{\atantwo}{arctan2}
\)
The log-polar transformation is defined as follows:<br>
The log-polar transformation is defined as follows:<br>
<math>r = \sqrt{(x-x_c)^2 + (y-y_c)^2}</math><br>
\[
<math>a = \atantwo(y-y_c, x-x_c)</math><br>
\begin{align}
r &= \sqrt{(x-x_c)^2 + (y-y_c)^2}\\
a &= \operatorname{arctan2}(y-y_c, x-x_c)
\end{align}
\]
where <math>(x_c, y_c)</math> is the center of the image.
where <math>(x_c, y_c)</math> is the center of the image.
Here a rotation in Cartesian coordinates <math>(x, y)</math> around the center \((x_c, y_c)\) corresponds to a shift in \(a\) in log-polar coordinates.<br>
These translations can be found using [[Wikipedia: Cross-correlation]].


==References==
==References==

Revision as of 13:49, 15 May 2020

Image registration is recovering an affine transformation (rotation + translation) between two images.

Problem Statement

We are given two images \(\displaystyle I_1\) and \(\displaystyle I_2\).
Let \(\displaystyle (x,y)\) be uv coordinates within the image.
We want to find a rotation and translation from \(\displaystyle (x,y)\) to \(\displaystyle (x',y')\) such that \(\displaystyle I_1(x,y) = I_2(x', y')\).
This is represented as:
\[ \begin{align} x' &= a_1 x + a_2 y + a_3\\ y' &= a_4 x + a_5 y + a_6 \end{align} \] This can also be written as:
\(\displaystyle \begin{pmatrix} x' \\ y' \\ 1 \end{pmatrix} = \begin{pmatrix} a_1 & a_2 & a_3\\ a_4 & a_5 & a_6\\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \\ 1 \end{pmatrix} \)


Log-Polar Transformation

See Wolberg and Zokai<ref name="wolberg2000robust">George Wolberg, and Siavash Zokai. Robust Image Registration Using Log-Polar Transform URL:https://home.cis.rit.edu/~cnspci/references/wolberg2000.pdf.

The log-polar transformation is defined as follows:
\[ \begin{align} r &= \sqrt{(x-x_c)^2 + (y-y_c)^2}\\ a &= \operatorname{arctan2}(y-y_c, x-x_c) \end{align} \] where \(\displaystyle (x_c, y_c)\) is the center of the image.

Here a rotation in Cartesian coordinates \(\displaystyle (x, y)\) around the center \((x_c, y_c)\) corresponds to a shift in \(a\) in log-polar coordinates.
These translations can be found using Wikipedia: Cross-correlation.

References