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

10 投票
1 回答
577 浏览
提问于 2025-04-16 22:17

我正在写一个简单的苍蝇追踪软件,希望能得到一些opencv专家的建议。

我手上的图片大概是这样的:

苍蝇追踪的示例图片

我之前是用kmeans和PIL/numpy来做追踪的,但现在我把所有东西都重写了一遍,改用opencv的blob检测。追踪效果还不错,但我还想自动划分感兴趣区域(ROI)。

我需要做的是找到图片中出现的32个沟槽,苍蝇就生活在这些地方。你可以看看图片中的黑色矩形,作为我所说的例子。

我觉得cornerHarris可能是我需要的,但我该怎么指定只找到沟槽,而不是图片中每一个单独的矩形呢?这些沟槽的比例大约是10:1。

谢谢!

1 个回答

3

我觉得 cvCornerHarris 根本不适合你的需求。

一个更好的起点是试试这个演示,地址是:OpenCV-2.3.0/samples/cpp/squares.cpp。这个方法使用了 Canny()dilate()findContour() 这几个函数。

这个演示一运行就会输出:

在这里输入图片描述

我相信只要稍微调整一下,你就能开始你的项目了。

撰写回答