如何使用opencv找到固定数量的(几乎)固定比例矩形?

Gio*_*tro 10 python opencv

我正在写一个简单的飞行跟踪软件,我很想得到opencv专家的一些意见.

我的形象看起来非常像:

飞行跟踪的样本图像

我曾经使用kmeans和PIL/numpy进行跟踪,但我重写了所有内容以在opencv中使用blob检测.跟踪工作正常,但我也希望自动化ROI划分.我需要做的是找到图片中出现的32个凹槽中的每个凹槽.看到图像上的黑色矩形作为我的意思的例子.

我认为cornerHarris可能是我需要的,但我如何仅指定凹槽而不是图像中找到的每个矩形?所有这些凹槽的比例大约为10:1.

谢谢!

kar*_*lip 3

我认为cvCornerHarris根本不符合您的需求。

更好的开始是尝试以下网址提供的演示:OpenCV-2.3.0/samples/cpp/squares.cpp。该技术使用Canny(),dilate()findCountour()

该演示开箱即用,输出:

在此输入图像描述

我相信,通过这里或那里的一些调整,您就可以开始您的聚会了。

  • 如果您知道小树林的数量及其纵横比,您可以简单地识别包围小树林的较大窗口的角点,然后使用矢量代数计算出构成凹槽的子矩形的坐标。这使您的问题变得更加容易,因为您仅使用图像处理来查找一个矩形,并从中推断其他矩形的位置。 (2认同)