阅读量:1
最终效果如下:
不仅标出了裂纹位置,还标出了裂纹的尺寸
原图如下:
核心原理就是基于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