极坐标变换定义
我们知道在二维坐标系中,有直角坐标系,也有极坐标系,二者的转换关系是:
如下图:
如图,直角坐标系的圆心与极坐标系的圆心一一对应,且圆弧BA可以通过极坐标变换到极坐标系 ρ=r 的一条直线上,实现由圆形到直线的转换。这往往在一些图像处理中很有用。
实际上,我们在图像处理中,往往还不是处理这样的圆弧,而更多的是处理圆环区域。如下,
同理,我们可以把(a)图中的圆环区域1234,转换成矩形区域(b).矩形区域与圆环存在一定的对应关系,区域转换满足:转换前后两区域顶点1234一一对应,转换后的矩形区域宽为圆环内外弧弧长 (ϕ2−ϕ1) ,高为圆环内外半径的差 R2−R1 .
具体的数学转换关系是:获取圆环区域的圆心坐标
(x0,y0)
、外半径
R2
、内半径
R1
、圆环起始角度
ϕ1
和终止角度
ϕ2
.取矩形区域一点
A(x,y)
,它在圆弧内对应的点为
A′
.在图(b)矩形区域中,每一个单位长度对应的角度为
(ϕ2−ϕ1)/[(ϕ2−ϕ1)⋅R2]
,记
(ϕ2−ϕ1)
为
Δϕ
,则A对应于A’在圆环区域内极坐标下的角度
ϕA
表示为:
得到 ϕA,RA 后,可以通过极坐标变换得到直角坐标系下的坐标。
设A’在圆环区域内 (x′,y′) ,则
显然A点的灰度值应该与A’的灰度值相同,但是A’的坐标值通常不是整数,因此无法计算A’的像素值,可以通过 双线性插值获得其近似像素值。
极坐标变换在OCR中的应用
在工业视觉领域,经常要进行字符识别,但是有些字符是印在像硬币、CD唱片机一样的圆形区域上,如下图:
图2
我们想要识别硬币上的字符,这时需要使用OCR。OCR通常需要进行两步,第一是字符分割,第二是字符识别。对于此图而言,字符分割不容易,主要是由于我们需要识别的字符位于环形区域中,并不是一般意义上的水平排布,此时我们就可以使用如上的极坐标变换,先定位字符的圆环区域,再转变到水平的矩形区域。这时再采取阈值分割、blob分析等手段分割字符,进而就可以进行OCR了。
极坐标变换后的图是:
图3