基于霍夫圆变换的内外虹膜分割(opencv+python代码)

最近做了一个基于霍夫圆变换进行内外虹膜的分割小实验,觉得挺有意思,就记录一下,效果如下:
基于霍夫圆变换的内外虹膜分割(opencv+python代码)_第1张图片
基于霍夫圆变换的内外虹膜分割(opencv+python代码)_第2张图片
代码链接:霍夫圆变换实现对虹膜内外圆的检测与识别

主要代码:

#maxRadius 设为100为外瞳孔,maxRadius 设为50为内瞳孔,不同的图片大小不一样,需要重新调整参数
circles = cv.HoughCircles(img, cv.HOUGH_GRADIENT, 1, 300, param1=100, param2=20, minRadius=20, maxRadius=50)

cv.HoughCircles 参数详解:

  1. image:输入矩阵
  2. method cv2.HOUGH_GRADIENT:也就是霍夫圆检测,梯度法
  3. dp:计数器的分辨率图像像素分辨率与参数空间分辨率的比值(官方文档上写的是图像分辨率与累加器分辨率的比值,它把参数空间认为是一个累加器,毕竟里面存储的都是经过的像素点的数量),dp=1,则参数空间与图像像素空间(分辨率)一样大,dp=2,参数空间的分辨率只有像素空间的一半大
  4. minDist:圆心之间最小距离,如果距离太小,会产生很多相交的圆,如果距离太大,则会漏掉正确的圆
  5. param1 canny:检测的双阈值中的高阈值,低阈值是它的一半
  6. param2:最小投票数(基于圆心的投票数)
  7. minRadius:需要检测圆的最小半径
  8. maxRadius:需要检测圆的最大半径

基于霍夫圆变换的内外虹膜分割(opencv+python代码)_第3张图片

代码链接:霍夫圆变换实现对虹膜内外圆的检测与识别

你可能感兴趣的:(计算机视觉,opencv,python,计算机视觉)