使用广义hough变换比较任意形状



我使用广义hough变换来区分各种任意形状。我将要处理的几个形状如下所示:http://i50.tinypic.com/2u550t5.png

我已经成功地实现了以下步骤:

A)转换/训练阶段

i)获取二进制图像的阈值ii)使用cvFindContour获取轮廓iii)计算每个边缘像素的距离"r"和梯度方向(phi)iv)创建R-表

为每个形状的创建一个R表数据库

B)识别

i)获取任意形状的轮廓ii)计算每个边缘像素的梯度方向iii)使用R-表,构建累加器

我的问题是如何继续?

如何使用此累加器数据检测形状?

基本上,一旦你有了累加器图像,你就必须找到其中的峰值,即具有最高"票数"的像素(或单元),峰值应该大致代表你形状的位置。

有很多关于广义霍夫教程的教程,我喜欢M.Ulrich的论文"图像中复合对象的层次实时识别"中包含的教程,其中图4.3、4.4和4.5清楚地解释了这个主题。

最新更新