霍夫圆 定位不准确的问题 粗定位

对虹膜进行Canny边缘检测后,然后把得到的图像进行霍夫圆检测,就发现了这样的问题!定位不精确,然后我还没有解决,先写下这个问题,日后解决!
如下图:
霍夫圆 定位不准确的问题 粗定位
霍夫圆 定位不准确的问题 粗定位
这里定位了很多的圆! 有时候把原图像输入后,霍夫圆根本检测不出来有圆…很尴尬啊!

解决方案如下:

刚才自己试了一些别的方法,发现把图像进行二值化,就能粗定位到瞳孔的内圆了,具体步骤是,对原始的虹膜图像进行二值化,然后把这个二值化的图像进行霍夫圆检测画圆,粗定位!
效果图如下:
霍夫圆 定位不准确的问题 粗定位
霍夫圆 定位不准确的问题 粗定位
第二个例子: 找的是一张不太完美的虹膜图像,有点偏!
霍夫圆 定位不准确的问题 粗定位
霍夫圆 定位不准确的问题 粗定位
第二个例子,如果先进行canny边缘检测,然后再进行霍夫圆检测的话,就不能画圆了,直接找不到圆!

然后最后说一下canny边缘检测和二值化的区别:
1.图像的边缘检测的原理是检测出图像中所有灰度值变化较大的点,而且这些点连接起来就构成了若干线条,这些线条就可以称为图像的边缘。

2.与边缘检测相比,轮廓检测有时能更好的反映图像的内容。而要对图像进行轮廓检测,则必须要先对图像进行二值化,图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出明显的黑白效果。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。