web-dev-qa-db-ja.com

ポイントが境界四角形内に含まれているかどうかを検出する方法-opencvおよびpython

点のセットがあります[(x0、y0)、(x1、y1)、..]

そして、cv2.boundingRect(someContour)関数を使用して生成された一連の外接長方形。各境界ボックスが4つの座標を持つ反復可能なオブジェクトである場合(a,b,c,d)。私の質問は次のとおりです。

  1. これらの4つの数字の意味は何ですか?.

  2. 与えられた各点が境界四角形内に含まれているかどうかを確認する方法は?

C++用のopencvには 'contains'メソッドがあることは知っていますが、Pythonには存在しません。

9
Nimrodshn
  1. a、bは長方形の左上の座標で、(c、d)は長方形の幅と高さです。 OpenCV輪郭機能
  2. ポイント(x0、y0)が長方形内にあるかどうかを判断するには、a <x0 <a + cおよびb <y0 <b + dかどうかを確認します。
13
Hooting
def rectContains(rect,pt):
    logic = rect[0] < pt[0] < rect[0]+rect[2] and rect[1] < pt[1] < rect[1]+rect[3]
    return logic

rect = (a,b,c,d)

rectContains(rect,pt)
2
S. Goffin