小编fec*_*avy的帖子

使用OpenCV检测银色和反射球

我试图通过OpenCV检测反映环境的银球: 一个银球 有了黑球,我通过检测圆圈成功地做到了:

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

gray = cv2.GaussianBlur(gray,(5,5),0);
gray = cv2.medianBlur(gray,5)

gray = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY,11,3.5)

kernel = np.ones((3,3),np.uint8)

gray = cv2.erode(gray,kernel,iterations = 1)

gray = cv2.dilate(gray,kernel,iterations = 1)

circles = cv2.HoughCircles(gray, cv.CV_HOUGH_GRADIENT, 1, 260, \
                    param1=30, param2=65, minRadius=0, maxRadius=0)
Run Code Online (Sandbox Code Playgroud)

但是当使用带银球的程序时,我们没有得到任何结果.

当观察程序计算的边缘时,球的边缘非常清晰.但是守则并没有承认任何球.

银球的边缘

如何提高银球的检测率?我想到了两种方法: - 改善边缘计算 - 使圆检测接受边缘不清晰的图像这可能吗?这样做的最佳方法是什么?

非常感谢帮助.

python opencv hough-transform

3
推荐指数
1
解决办法
1437
查看次数

标签 统计

hough-transform ×1

opencv ×1

python ×1