5

我正在寻找照片中的某个物体:

对象:中间有 X 的矩形的轮廓。它看起来像一个矩形复选框。就这样。所以,没有填充,只有线条。矩形将具有相同的长宽比,但它可以是照片中的任意大小或任意旋转。

我看过一大堆图像识别方法。但我正在尝试确定最适合这项特定任务的方法。最重要的是,对象是由线条组成的,而不是填充的形状。此外,没有透视失真,因此矩形对象在照片中始终具有直角。

有任何想法吗?我希望我可以很容易地实现一些东西。

谢谢大家。

4

3 回答 3

3

您可以尝试使用角检测器(例如 Harris)来查找框的角、端点和 X 的交点。这简化了在正确配置中查找点的问题。

编辑(回复评论):

我假设您可以找到图像中的角点、矩形的 4 个角、X 的 4 行末端和 X 的中心,以及图像中由于噪声或物体而导致的其他几个角背景。这将问题简化为从给定的一组点中找到一组正确配置的 9 个点。

我的第一次尝试是查看每个角点 A。然后我会遍历靠近 A 的点 B。现在,如果我假设(例如)A 是矩形的左上角,B 是右下角,我可以很容易地计算出其他角点在图像中的位置。我会使用一些最近邻搜索(或像 FLANN 这样的库)来查看是否有我期望它们的角落。如果我能找到一组与这些预期位置匹配的点,我就知​​道符号在哪里,如果它出现在图像中。

如果这对您的应用程序来说足够好,您必须尝试。如果您有太多误报(意外形成矩形 + X 的其他对象的角集),您可以检查是否存在您期望的线条(即正确方向的高对比度)。您可以检查图案中没有线条的地方是否存在低对比度。一旦您知道图像中与您正在寻找的对象中的角/线末端相对应的点,这应该相对简单。

于 2010-10-07T08:06:43.660 回答
1

我建议使用广义霍夫变换。看起来你有一个相当简单、固定的形状。广义霍夫变换应该能够检测图像中任何旋转或缩放的形状。许多人需要对原始图像进行阈值处理,或者以某种方式对其进行预处理,以使这种方法有用。

于 2010-10-21T19:04:08.933 回答
0

您可以使用局部特征来识别图像中的对象。特征检测维基

例如,您可以计算某些仅包含您正在寻找的对象的参考图像的特征,并将结果保存到纯文本文件中。之后,您可以通过将新计算的特征(在包含对象的一些复杂场景的图像上)与参考特征进行比较来搜索对象。

这里有一些关于局部特征的好资源: Local Invariant Feature Detectors: A Survey

于 2010-10-06T16:22:20.730 回答