Image Registration: Difference between revisions
Line 33: | Line 33: | ||
The log-polar transformation is defined as follows:<br> | The log-polar transformation is defined as follows:<br> | ||
\ | \( | ||
\begin{align} | \begin{align} | ||
r &= \sqrt{(x-x_c)^2 + (y-y_c)^2}\\ | r &= \sqrt{(x-x_c)^2 + (y-y_c)^2}\\ | ||
a &= \operatorname{arctan2}(y-y_c, x-x_c) | a &= \operatorname{arctan2}(y-y_c, x-x_c) | ||
\end{align} | \end{align} | ||
\ | \)<br> | ||
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> | 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]]. | These translations can be found using [[Wikipedia: Cross-correlation]]. | ||
A scale change (i.e. enlarge or stretch) is a shift in log-space:<br> | |||
\( \lambda x \mapsto \log(\lambda x) = \log(\lambda) + \log(x) \) | |||
==References== | ==References== |
Revision as of 13:53, 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.
A scale change (i.e. enlarge or stretch) is a shift in log-space:
\( \lambda x \mapsto \log(\lambda x) = \log(\lambda) + \log(x) \)