判断两个点是否在同一轮廓上
import cv2
def points_in_same_contour_flag(mask, point_1, point_2):
"""
判断两个点是否在同一个轮廓上,如果是,返回True,否则返回False。
"""
# 寻找轮廓
#
contours, _ = cv2.findContours(
mask,
cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_NONE,
)
# 检查每个轮廓
for contour in contours:
# 检查点1是否在轮廓上
if cv2.pointPolygonTest(contour, point_1, False) > 0:
# 检查点2是否在同一个轮廓上
if cv2.pointPolygonTest(contour, point_2, False) > 0:
return True
return False # 两点不在同一个轮廓上