(1)Log-Polar变换
对于二维图像,Log-polar转换表示从笛卡尔坐标到极坐标的变换。关于笛卡尔坐标向极坐标的变换,这个数学上的变换,我相信在中学很多人就明白,在这里就不做过多的赘述。
关于为什么要进行对数极坐标变换?对我们来说,更为重要的是,对数极坐标变换是对物体视场的一种不变表示,即当变换图像的质心移动到对数极坐标平面的某个固定点时。如下图所示,左边三个是我们想要识别成“正方形”的形状。问题是它们看起来很不一样。有一个比其余的大很多而另一个是旋转的。对数极坐标变换见图的右侧。观察到在(x,y)平面内尺寸的差异被旋换为对数极坐标平面内沿着log(r)轴的位移,旋转差异被转换成对数极坐标平面沿θ轴的位移。如果我们将对数极坐标平面上每一个变换方形的转换中心,重新移动到一个固定的中心位置,那么所有正方形都是一样的。这就产生了一类二维旋转和尺度的不变性。
下面简要介绍下OpenCV中关于对数极坐标变换的函数cvLogPolar():
void cvLogPolar(
const CvArr* src,
CvArr* dst,//src,dst是单通道或者是三通道的彩色和灰度图像
CvPoint2D32f center,//对数极坐标变换的中心点