Nimrodshn
Nimrodshn

Reputation: 971

How to detect if a point is contained within a bounding rect - opecv & python

I have a set of points [(x0,y0), (x1,y1), .. ]

And a set of bounding rectangles produced using the cv2.boundingRect(someContour) function. Where each bounding box is an iterable object with four coordinates (a,b,c,d). My questions are:

  1. what is the meaning of these four numbers?.

  2. how to check if each given point is contained within the bounding rect?

I know that opencv for C++ has the 'contains' method but it doesnt exist for python.

Upvotes: 16

Views: 32247

Answers (2)

S. Goffin
S. Goffin

Reputation: 123

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)

Upvotes: 7

Hooting
Hooting

Reputation: 1711

  1. a,b are the top-left coordinate of the rectangle and (c,d) be its width and height. OpenCV Contour Features
  2. to judge a point(x0,y0) is in the rectangle, just to check if a < x0 < a+c and b < y0 < b + d

Upvotes: 19

Related Questions