最近做了一个基于霍夫圆变换进行内外虹膜的分割小实验,觉得挺有意思,就记录一下,效果如下:
代码链接:霍夫圆变换实现对虹膜内外圆的检测与识别
主要代码:
#maxRadius 设为100为外瞳孔,maxRadius 设为50为内瞳孔,不同的图片大小不一样,需要重新调整参数
circles = cv.HoughCircles(img, cv.HOUGH_GRADIENT, 1, 300, param1=100, param2=20, minRadius=20, maxRadius=50)
cv.HoughCircles 参数详解:
- image:输入矩阵
- method cv2.HOUGH_GRADIENT:也就是霍夫圆检测,梯度法
- dp:计数器的分辨率图像像素分辨率与参数空间分辨率的比值(官方文档上写的是图像分辨率与累加器分辨率的比值,它把参数空间认为是一个累加器,毕竟里面存储的都是经过的像素点的数量),dp=1,则参数空间与图像像素空间(分辨率)一样大,dp=2,参数空间的分辨率只有像素空间的一半大
- minDist:圆心之间最小距离,如果距离太小,会产生很多相交的圆,如果距离太大,则会漏掉正确的圆
- param1 canny:检测的双阈值中的高阈值,低阈值是它的一半
- param2:最小投票数(基于圆心的投票数)
- minRadius:需要检测圆的最小半径
- maxRadius:需要检测圆的最大半径
代码链接:霍夫圆变换实现对虹膜内外圆的检测与识别
版权声明:本文为m0_46384757原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。