Opencv Python瓶口缺陷检测
这是最近在课程作业中做的小项目,放在这里和大家分享一下。
主要任务
判断瓶口是否完好,寻找瓶口缺陷部分,并将其框出(以下图为例进行演示)(包含程序部分代码)
解决步骤
1.通过Hough圆检测,获取瓶口外侧圆,确定圆的位置和尺寸,对瓶口部分进行极坐标变化和极坐标反变换,消除瓶口外侧区域的干扰。
2.对之后的图像进行处理,提取缺陷部分进行轮廓绘制和缺陷判别。
1、导入功能包,读取图像
2、Hough圆检测获取瓶口位置和大小
为了防止误判,对圆半径进行限制,保证获得瓶口最外侧的轮廓
'''hough圆变换'''
cimg = cv2.cvtColor(bottle,cv2.COLOR_GRAY2BGR) # 转换成彩色图
circles = cv2.HoughCircles(median,cv2.HOUGH_GRADIENT,1,100,
param1=100,param2=60,minRadius=150,maxRadius=160) # Hough圆检测
circles = np.uint16(np.around(circles))
#print(circles)
for i in circles[0,:]: