/imgs/plastic_mesh_01.png')
cv2.imshow('src',img)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray =...,cnt,-1,(0,0,255),2)
isNG = True
# else:
# cv2.drawContours(img,cnt,-1,(0,255,0),1)
if...----
代码简单说明:
(1) 关于阈值方法,首先尝试了OTSU方法,后面发现有部分正常孔洞和网格会相连,如下图所示,导致正常孔洞也被标记为缺陷(第三幅图);
?...(2) 根据面积来标记缺陷区域,先大概统计一下正常孔洞区域的面积范围,然后设置缺陷区域面积大于正常范围的最大值即可;
(3)关于putText结果标记这里配合getTextSize()函数来使用...,此函数是用来获取字体尺寸大小的,但是绘制出来不能完整的将文字包围,获取文字区域的Rect中宽度大小合适,但是高度偏小,所有代码做了调整如下:
rect, basline = cv2.getTextSize