3

到目前为止,是否有人试图用“仅”OpenCV 找到像这样的比萨标记器?

PizzaMarker01

我试图检测到这一点,但到目前为止还没有得到好的结果。我不知道这个标记在图片中的什么位置(不可能有 ROI),标记将在房间的某个地方(不同的光照效果),而不是正对着我们。我想要什么 - 角落和后来这个标记的方向用角落提取,但首先只有 5Corners。(上、下、左、右、中)

到目前为止,我一直在尝试:阈值、噪声清除、查找轮廓,但没有任何帮助获得好的结果。通常发现棋盘或方形标记是因为它们的(平行)线 - 我想这对我没有帮助......

找到这些标记的简单方法是什么?你会怎么开始?使用其他颜色格式,如 HSV?

一步一步的想法或教程将非常有帮助。因为我在网上找不到 tuts。也许这个标记不叫比萨标记 -> 有人知道真名吗?

谢谢帮助

4

4 回答 4

2

首先 - 感谢您的所有帮助。似乎有几种方法很有用。或多或少有些时间膨胀。对我来说,使用模板匹配但不是使用相同的标记是最简单的。我只用了一小部分...

在此处输入图像描述

在这个新标记中可以找到 5 次(4 次阴性和 1 次阳性):

在此处输入图像描述

现在我只使用了 4 个最消极的点和最积极的点,得到了我最终想要的 5 点。为了更确定这一点,我检查它们是否彼此靠近并执行cornerSubPix()。

于 2012-11-16T07:36:02.167 回答
1

您可以使用 VJ 训练和使用 cvHaarDetectObjects 来检测标记。
可能不是最快的方法,但它应该可以工作。您可以在此处找到有关使用 OpenCV 的对象检测方法的更多信息:http: //opencv.willowgarage.com/documentation/object_detection.html

于 2012-11-07T11:40:25.263 回答
1

如果您需要可以实时操作的东西,我会沿着边缘检测路线寻找相交线,就像这些人所做的那样。对照明变化似乎快速而稳健。

阅读 openCV 中的霍夫线变换以开始使用。

附录:

黑到白是你可以拥有的最强优势。如果您创建渐变图像并使用场景中发现的最强边缘(通过直方图或其他方式),您将能够将检测限制为仅黑/白边缘。寻找交叉点。这应该为您提供少量的中心点来应用霍夫椭圆检测(或替代)。如果您愿意,您可以在模板中旋转以进一步检查。

BTW .. OpenCV 有边缘检测、霍夫变换和 FitEllipse,如果你真的走这条路的话。

于 2012-11-07T13:02:38.253 回答
1

实际上,这种“披萨”模式是 Viola-Jones 对象检测框架中使用的 haar 特征的构建块之一。

所以我要做的是计算总面积表或积分图像cv::integral(img),然后在各种尺度(取决于大小)上对这种模式进行详尽的搜索。在每个窗口中,您仅使用 9 个点(左上、中上、...、左下)。

于 2012-11-07T18:31:24.317 回答