我有一个opencv应用程序,可以检测人脸。我在框架上画了一个circle
,我需要检查圆是否位于面的边界框内。下面是画圆的代码
cv2.circle(frame, (293, 141), 5, (0, 255, 0), -1)
这意味着x是293,y是141表示圆。下面是人脸检测的代码:
face_bbox = face.detect_face(frame)
if face_bbox is not None:
(f_startX, f_startY, f_endX, f_endY) = face_bbox.astype("int")
cv2.rectangle(frame, (f_startX, f_startY), (f_endX, f_endY), (0, 0, 0), 2)
f_startX, f_startY, f_endX, f_endY
是为面绘制的矩形的坐标。现在我需要检查圆是否位于边界框之间。为此,我提出了以下条件:
if f_startX < 293 < f_endX and f_startY > 141 > f_endY:
print("Circle is inside face")
else:
print("Circle is outside face")
但这似乎不起作用。我也有点困惑,我应该如何比较脸的x和y与圆的x和y。谁能给我提个好办法吗。请帮忙。谢谢
我提出了一个非常通用的解决方案。 相应地替换变量
我让它工作,这是我使用的条件:
相关问题 更多 >
编程相关推荐