OpenCV 如何对矩形进行分组

Ale*_*lex 5 python opencv computer-vision

我需要一些帮助来解释如何在此处显示的python 中使用 opencv 组矩形函数。

我正在运行 2 个 haar 级联来检测图像中的对象,但现在我想将矩形合并在一起。我猜这就是 groupRectangles 的用途。

cv2.groupRectangles(rectList, groupThreshold, eps, weights, levelWeights)
Run Code Online (Sandbox Code Playgroud)

我假设 rectList 是 cv2.cascade.detectMultiScale() 返回的向量?另外,我不确定权重和 levelWeights 是什么,或者它们的用途是什么,如果有人可以解释这一点,或者告诉我在哪里可以找到它,因为我在文档中找不到它,我将不胜感激。

谢谢你的帮助 :-)

Mat*_*ndl 3

也许在此期间发生了一些变化,但是按照您提供的链接,定义是:

\n\n
cv2.groupRectangles(rectList, groupThreshold[, eps]) \xe2\x86\x92 rectList, weights\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以是的,rectList是一个矩形列表,在您的情况下,您将使用 . 返回的矩形列表cv2.cascade.detectMultiScale()。虽然可选eps控件需要合并两个矩形(在位置和大小方面)的相似程度,但指示groupThreshold至少需要将多少个矩形合并为一个才能保留合并的矩形。

\n\n

您将返回新的矩形列表和每个矩形的权重,我假设权重反映了合并的矩形数量以及它们的相似程度。

\n