我正在尝试使用不同的方法在灰度图像中检测白色矩形:轮廓检测和Hough变换。不幸的是,我处理的图像存在以下一些限制:
- 图像中有许多特征,而矩形并不是唯一的特征。
- 矩形可能与其他特征合并(例如,矩形的一条边可能与一条长直线重叠)。
- 矩形可能包含其他一些特征(例如,字母、数字或矩形内部的某个标志)。
- 有一些特征看起来像矩形(例如,字符“D”看起来像顶部右侧和底部右侧带有小弧的矩形;另一个例子是梯形而不是平行四边形)。
- 矩形可以在0到15度的范围内顺时针和逆时针旋转。
- 在不同的光照条件下可能会将线段断成几条线段(例如1像素间隙),因此在过滤线段的最小长度必须很小(例如,在Hough变换中)。
- 当将最小线段长度设置为小值时,更容易看到同一条线在不同方向上的重复线(即需要组合几条线)。
我看过许多文章/论坛,建议使用霍夫变换来检测类似矩形的物体,如下面的帖子所示。不幸的是,我必须设置较小的最小线长度,并且看到了重复的线条。我不知道如何处理上述提到的点(例如组合所有重复的线条,为每个边缘选择一条线条,如何区分大部分是线条但具有小弧度的特征,如“D”,以及如何隔离与长直线合并的一条边的正方形等)。
任何建议都受欢迎!
编辑:添加一些图片
角色D