1

我想使用 OpenCV 检测正方形。这是我要处理的图像:

有 11 个彩色方块,在https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/c/squares.c?rev=1429上的 OpenCV 示例不会检测到所有方块. 我能做些什么来检测所有这些?

4

1 回答 1

2

根据案例优化代码。边学边玩。

检测正方形的另一种方法是使用基于签名的广义霍夫投票框架。创建一个方形签名,然后将其与图像进行卷积。在“霍夫空间”中累积结果并找到最大值(例如均值偏移)。要实现尺度不变性,请构建多尺度签名。

或者您可以尝试模板匹配。使用密集采样或关键点检测器(例如 harris edge ),并使用一些描述符(例如 SURF、ORB)构建空间码本。然后,您可以通过对码本距离进行阈值化来使用滑动窗口进行匹配。

于 2012-12-20T13:34:12.493 回答