0

我想构建一个可以检测视频中方形对象的程序。我为此使用了 SURF 算法。但那只检测关键点。

4

2 回答 2

4

正常的方法是用一个精明的滤波器检测边缘,然后用霍夫变换找到线,然后找到斜率相差 90 度的线对

于 2012-06-05T17:00:05.163 回答
1

您似乎没有对此进行任何搜索。如果你有,你会在你的电脑里找到这个代码。

正方形检测的代码(特别是矩形,您可以稍作修改使其仅适用于正方形)直接随 opencv 示例提供,下载 OpenCV 库时即可获得。

你没有指定你工作的语言。但代码来自 Python 和 C++。

蟒蛇 , C++

这个怎么运作:

  • 将图像拆分为 R、G、B 平面
  • 对于每个平面,阈值图像的范围值在 0 到 255 之间
  • 找到轮廓,近似,选择只有4个点的轮廓
  • 找到轮廓所有线之间的夹角余弦并检查是否接近 90
  • 如果是这样,它是矩形
  • 如果你想要正方形,检查它的所有边是否几乎相等。

它工作得很好。如果你看到了这个,这不是你想要的,用更具体的细节更新你的问题,包括一些测试图像。

在提问之前,谷歌你的疑问,甚至在 SOF 中搜索类似的问题。

希望能帮助到你!!!

于 2012-06-05T17:17:22.883 回答