步骤
- 经过前期处理得到含有圆形的图像,高通滤波或者梯度算子得到边缘轮廓(二值图像)
- 记录轮廓的所有白色像素点
- 随机化若干次,得到若干条直线,并得到直线的垂线
- 记录求出垂线的交点坐标
- 设定阈值,若某一坐标是交点的次数大于某个设定的阈值,就把这一点看作圆心
若图像中有多个圆也可以检测出来。
**直线 **的检测也类似,可以把直线投射到 k-b 坐标系中,用一个点代表一条直线。
代码
代码是默认图像中只存在一个圆,所以最后设的阈值直接是图像中的最大值。
1 |
|
若图像中有多个圆也可以检测出来。
**直线 **的检测也类似,可以把直线投射到 k-b 坐标系中,用一个点代表一条直线。
代码是默认图像中只存在一个圆,所以最后设的阈值直接是图像中的最大值。
1 |
|