python - OpenCV 霍夫圆变换检测球体

Posted darkchii

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python - OpenCV 霍夫圆变换检测球体相关的知识,希望对你有一定的参考价值。

  重要的是理解霍夫圆变换过程:https://en.wikipedia.org/wiki/Circle_Hough_Transform

import cv2 as cv

im = cv.imread(‘../result_25k.png‘, cv.IMREAD_COLOR)
im_gray = cv.cvtColor(im, cv.COLOR_BGR2GRAY)
im2 = cv.medianBlur(im_gray, 5)
circles = cv.HoughCircles(im2, cv.HOUGH_GRADIENT, 2, im_gray.shape[1] / 8, 100, 130, minRadius=0, maxRadius=0)
print(circles)
for i in circles[0, :]:
    cv.circle(im, (i[0], i[1]), 1, (0, 255, 0), 2)
    cv.circle(im, (i[0], i[1]), i[2], (0, 128, 255), 2)
cv.imshow(‘im‘, im)
cv.waitKey(0)
cv.destroyAllWindows()
cv.imwrite(‘../result.png‘, im)

  opencv 调参没什么意义,仅对我使用的图像有用。

  测试图像:

技术图片

技术图片

 

 

  图片来源:http://www.kevinbeason.com/smallpt/

以上是关于python - OpenCV 霍夫圆变换检测球体的主要内容,如果未能解决你的问题,请参考以下文章

Python+opencv 机器视觉 - 基于霍夫圈变换算法检测图像中的圆形实例演示

Python+opencv 机器视觉 - 基于霍夫圈变换算法检测图像中的圆形实例演示

使用 OpenCV(基于霍夫变换或其他特征)编写鲁棒的(颜色和大小不变)圆检测

opencv python:直线检测 与 圆检测

opencv学习-霍夫变换-圆检测

OpenCV——霍夫变换(直线检测圆检测)