Python Opencv HoughCircles在二值图像上表现不佳?
我试图在图像中定位一些彩色球,为了减少误报的风险,我首先根据当前正在搜索的球的颜色将图像缩小为二值图像。OpenCV的HoughCircles无法在二进制图像中找到任何圆, 在转换为灰度的原始图像上表现良好。HoughCircles不能处理二进制图像吗?我还没有找到任何文件表明这一点 下图为原始图像: 由此产生的圆圈: 找不到圆的绿色遮罩:Python Opencv HoughCircles在二值图像上表现不佳?,python,opencv,hough-transform,Python,Opencv,Hough Transform,我试图在图像中定位一些彩色球,为了减少误报的风险,我首先根据当前正在搜索的球的颜色将图像缩小为二值图像。OpenCV的HoughCircles无法在二进制图像中找到任何圆, 在转换为灰度的原始图像上表现良好。HoughCircles不能处理二进制图像吗?我还没有找到任何文件表明这一点 下图为原始图像: 由此产生的圆圈: 找不到圆的绿色遮罩: 输入图像应为:8位、单通道和灰度 在您的图像中,Houghcirle也可以找到该圆。您所需要的只是为函数选择正确的参数。我尝试了这些参数,并能够找到它:
输入图像应为:
8位、单通道和灰度
在您的图像中,Houghcirle也可以找到该圆。您所需要的只是为函数选择正确的参数。我尝试了这些参数,并能够找到它:
rows = gray.shape[0]
circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, rows / 8,
param1=30, param2=15,
minRadius=0, maxRadius=0)
注意:最好在houghcircle之前应用gaussian或medianBlur
结果:
非常感谢,我一定是设法只尝试了没有结果的参数值!