opencv 笛卡尔坐标转换为极坐标 cvLogPolar的应用二
极坐标变换定义">极坐标变换定义
我们知道在二维坐标系中,有直角坐标系,也有极坐标系,二者的转换关系是:
如下图:
如图,直角坐标系的圆心与极坐标系的圆心一一对应,且圆弧BA可以通过极坐标变换到极坐标系ρ=r的一条直线上,实现由圆形到直线的转换。这往往在一些图像处理中很有用。
实际上,我们在图像处理中,往往还不是处理这样的圆弧,而更多的是处理圆环区域。如下,
同理,我们可以把(a)图中的圆环区域1234,转换成矩形区域(b).矩形区域与圆环存在一定的对应关系,区域转换满足:转换前后两区域顶点1234一一对应,转换后的矩形区域宽为圆环内外弧弧长(ϕ2−ϕ1).
具体的数学转换关系是:获取圆环区域的圆心坐标(x0,y0)
显然A点的灰度值应该与A’的灰度值相同,但是A’的坐标值通常不是整数,因此无法计算A’的像素值,可以通过双线性插值获得其近似像素值。
极坐标变换在OCR中的应用
在工业视觉领域,经常要进行字符识别,但是有些字符是印在像硬币、CD唱片机一样的圆形区域上,如下图:
图2
我们想要识别硬币上的字符,这时需要使用OCR。OCR通常需要进行两步,第一是字符分割,第二是字符识别。对于此图而言,字符分割不容易,主要是由于我们需要识别的字符位于环形区域中,并不是一般意义上的水平排布,此时我们就可以使用如上的极坐标变换,先定位字符的圆环区域,再转变到水平的矩形区域。这时再采取阈值分割、blob分析等手段分割字符,进而就可以进行OCR了。
极坐标变换后的图是:
图3
其他示例
数学公式:
图1
图2
图3
图4
图5
图6
图7
图8
别的参考博客:https://blog.****.net/liyuan02/article/details/6750828
https://blog.****.net/zcg1942/article/details/80886999