极坐标变换定义
我们知道在二维坐标系中,有直角坐标系,也有极坐标系,二者的转换关系是:
如下图:
如图,直角坐标系的圆心与极坐标系的圆心一一对应,且圆弧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
其他示例
参考文献
- 基于HALCON的圆环区域字符识别实现
- 基于视觉技术的圆环外观缺陷检测算法研究
- 基于Halcon的指针式仪表的读数
- 图片极坐标效果揭秘