如何检测一个点是否包含在一个边界rect-opecv&python中

Nim*_*shn 8 python opencv bounding-box

我有一组点[(x0,y0),(x1,y1),..]

并使用该cv2.boundingRect(someContour)函数生成一组边界矩形.每个边界框是一个具有四个坐标的可迭代对象(a,b,c,d).我的问题是:

  1. 这四个数字是什么意思?

  2. 如何检查每个给定点是否包含在边界矩形内?

我知道opencv for C++有'contains'方法,但它不存在python.

Hoo*_*ing 13

  1. a,b是矩形的左上角坐标,(c,d)是它的宽度和高度. OpenCV轮廓功能
  2. 判断点(x0,y0)是否在矩形中,只是为了检查<x0 <a + c和b <y0 <b + d


小智 7

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)
Run Code Online (Sandbox Code Playgroud)