使用python检测钻孔并在制造的产品中逐渐变细

时间:2017-03-14 11:15:46

标签: python opencv detection grayscale hough-transform

我想检测此产品中的钻孔和锥度

Original Image

钻孔位于圆形边界上。底部的红色圆圈是要检测锥度的位置。

What is to be detected

我尝试过使用Hough圆来检测钻孔

import cv2
import cv2.cv as cv
import numpy as np

img = cv2.imread('DSC_1257.JPG',0)
img = cv2.medianBlur(img,5)
cimg = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)


circles = cv2.HoughCircles(img,cv.CV_HOUGH_GRADIENT,1,300,
                        param1=40,param2=20,minRadius=15,maxRadius=30)
circles = np.uint16(np.around(circles))
for i in circles[0,:]:
    # draw the outer circle
    cv2.circle(cimg,(i[0],i[1]),i[2],(0,255,0),2)
    # draw the center of the circle
    cv2.circle(cimg,(i[0],i[1]),2,(0,0,255),3)

imS2 = cv2.resize(cimg, (960, 540))
cv2.imshow('detected circles',imS2 )
cv2.waitKey(0)
cv2.destroyAllWindows()

这确实检测到了钻孔,但它还检测到其他不需要的7个孔。 我只想检测两个钻孔,仅此而已。请您告诉我一个解决方案,以及逐渐减少的问题

0 个答案:

没有答案