轮廓检测,然后判断轮廓大小,识别位置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import cv2 def cv_show(img): # 展示图片 cv2.imshow( "img" , img) cv2.waitKey( 0 ) cv2.destroyAllWindows() img = cv2.imread( "bg.png" ) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 灰度图片 img2 = cv2.GaussianBlur(gray, ( 5 , 5 ), 0 ) # 高斯模糊 v1 = cv2.Canny(img2, 20 , 80 ) # 边缘检测, 20和80分别为两个阈值 cv_show(v1) counts, _ = cv2.findContours(v1, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) # 轮廓检测 result = img.copy() color = ( 0 , 255 , 0 ) for c in counts: area = cv2.contourArea(c, True ) x, y, w, h = cv2.boundingRect(c) # 计算x,y,宽,高 if w > 100 or w < 50 or h > 70 or h < 50 : # 按照实际缺口的大小调整过滤条件 continue print (x, y, w, h) cv2.rectangle(result, (x, y), (x + w, y + h), color, 1 ) # 画出矩形框 cv_show(result) # 展示最终结果图 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2019-06-20 swarm 集群
2019-06-20 docker compose