作者st1009 (前端攻城师)
看板Python
标题[问题] OpenCV抓中心
时间Tue Apr 23 17:08:51 2019
各位先进各位大大,大家好<(_ _)>
我今天想要请教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://webptt.com/cn.aspx?n=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