我在Python 3中使用OpenCV來檢測白色字段上的白色/黑色球,並給出它的確切(x,y,半徑)和顏色。我使用函數cv2.Canny()和cv2.findContours()找到它,但問題是cv2.Canny()不總是檢測到圓的完整形狀(大部分時間只有3/4的圈)。 所以,當我使用cv2.findContours()它不檢測它作爲一個輪廓。跟蹤白色背景中的白色球(Python/OpenCV)
請參閱:
和
這是最重要的代碼:
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray, (5, 5), 0)
edged = cv2.Canny(blurred, 10, 40) # 10 and 40 to be more perceptive
contours_canny= cv2.findContours(edged.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)[-2]
之後,我使用: approx = cv2.approxPolyDP(contour,0.01*cv2.arcLength(contour,True),True)
所以,如果你能幫助我找到一個很好的解決方案! 也許有一個函數完成圓的形狀,所以我可以檢測到它?
你有沒有試過Hough圈? –