看板 Python 關於我們 聯絡資訊
各位先進各位大大,大家好<(_ _)> 我今天想要請教OpenCV該如何抓到中心點... 我的程式碼如下: def find_pinky(frame): lower_purple = np.array([145,123,126]) upper_purple = np.array([155,255,255]) hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) mask = cv2.inRange(hsv, lower_purple, upper_purple) img, contours = \ cv2.findContours(mask,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) #這個部份我看別人都是3個變數接收,但是我用3個他說超出預期... #所以我用兩個而已,有大大知道出甚麼問題,可以跟我說一下,謝謝 cnt = img[0]#這部份我抓出輪廓 # M = cv2.moments(cnt) # cx = int(M["m10"]/M["m00"]) # cy = int(M["m01"]/M["m00"]) #進行此運算時,出現了除0的錯誤!!! #如圖https://imgur.com/ro11mXe.png
我目前的主要問題就是因為除0錯誤,抓不到中心點... 我使用cv2.drawContours(frame,img,-1,(255,0,0),1) 時,可以確認確時有抓到物件 https://imgur.com/lqVDIvD.png
如圖藍線部份是我的框線,紫色是我要補抓的物件。 是我希望可以做出一個自動用滑鼠點擊紫色物件的程式,但是總是點不到Orz 在這裡先謝謝大家了m(_ _)m -- 壁河山攻守 爭成敗悟道 許銀川 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.153.38 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1556010535.A.AE2.html http://pasted.co/61c7421d 這是我執行print(img)的output不知道有沒有幫助... 我暫時的解法是,先用if判斷不能除0,期待有大大提供更好的解法。 ※ 編輯: st1009 (1.163.153.38), 04/23/2019 18:34:28