赞
踩
最终效果如下:
不仅标出了裂纹位置,还标出了裂纹的尺寸
原图如下:
核心原理就是基于opencv的图片处理及轮廓查找,具体逻辑看代码,话不多说上代码:
- # 在一张图片上检测圆
- import cv2
- import numpy as np
-
-
- def detect_circle(img):
- """在一张图片上检测圆
- img: 必须是二值化的图
- """
- roi=np.zeros(img.shape[:2], dtype=np.uint8)
- mask = np.ones_like(img) * 255
- # img = img * 255
- img_bgr = np.stack([img,img,img],axis=-1)
- # param2越小,检测到的圆越多
- circles = cv2.HoughCircles(img,cv2.HOUGH_GRADIENT,1,20,
- param1=10,param2=10,minRadius=10,maxRadius=70)
- # print(circles)
- circles = np.uint16(n

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。