要判斷一個點是否在輪廓內,可以使用OpenCV中的函數pointPolygonTest
。該函數可以計算一個點到輪廓的最短距離,如果這個距離為正,則表示點在輪廓內部,如果為負,則表示點在輪廓外部,如果為0,則表示點在輪廓上。
以下是一個簡單的示例代碼:
import cv2
# 讀取輪廓
contour = cv2.imread('contour.jpg', 0)
# 創建一個點
point = (50, 50)
# 判斷點是否在輪廓內
distance = cv2.pointPolygonTest(contour, point, False)
if distance > 0:
print("Point is inside the contour")
elif distance < 0:
print("Point is outside the contour")
else:
print("Point is on the contour")
在上面的示例中,首先讀取了一個輪廓圖像,然后創建了一個點(50, 50)
,最后使用pointPolygonTest
函數計算這個點到輪廓的最短距禮,并根據計算結果進行判斷。