使用opencv比较虹膜图像 [英] Comparing irises images with opencv

查看:570
本文介绍了使用opencv比较虹膜图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要虹膜比较的帮助。

I need help with iris comparing.

我已经对虹膜图像进行了细分和标准化。现在我想要extraxt功能,将它添加到数据库,或者只是简单地在特征向量列表中,然后将其与其他功能向量进行比较。我希望我的应用程序决定这样的虹膜是否已经存在于数据库中。当然图像是不同的,它们是在不同的光线,角度等处完成的。

I've already segment and normalize my iris images. Now I want to extraxt features, add it to database, or just simply in list of feature vector, and then compare it with other features vector. I want my application to decide if such iris is already in database or not. Of course images are diffenent, they were done in different light, angle etc.

我认为Gabor滤波器会有所帮助,所以我对它有12个不同的参数值:

I thought that Gabor filter would be helpful, so I it to 12 different parameters values:

Mat kernel = Imgproc.getGaborKernel(new Size(25, 25), sigma, theta, lambda, gamma, psi, CvType.CV_64F);
Scalar sum = Core.sumElems(kernel); //kerner normalization
Core.divide(kernel, sum, kernel);   
Imgproc.filter2D(floatSource, dest, CvType.CV_64F, kernel);

然后我使用此函数计算12个汉明距离:

Then I compute 12 Hamming distances using this function:

dist_ham = Core.norm(it1.next(), it2.next(), Core.NORM_HAMMING);

获得平均值。

而且......它不起作用。当我比较相同虹膜或2个不同虹膜的2个不同图像时,汉明距离相似。
如何让我的算法更好?也许我应该使用openCV mathers中实现的一些来获得好的结果?对我而言,我将使用哪种算法并不重要,我只想要有好的结果。而且我有点唠叨。

And... it does not work. Hamming distanse is similar when I am comparing 2 different images of the same iris or 2 different irises. How can I make my algorithm better? Maybe I should use some implemented in openCV mathers to obtain good results? For me it don't matter which algorithm I will use, I just want have good results. And I'm a little begginer.

一些示例图片:
第一个人img1:
第1人的标准化虹膜img1:

Some sample pictures: Person one img1: Normalized iris for person one img1:

第一人img2:

第1人img2的标准化虹膜:

Person one img2: Normalized iris for person one img2:

这个例子的汉明距离大约是29000(这是我得到的最低距离,大多数情况下,对于同一个人来说,我得到了大约30000 - 31000)
不同人的汉明距离约为31000(取决于测试图像)

Hamming distance for this example is about 29000 (and this is the lowest distance i got, in the most part i got about 30000 - 31000 for the same person iris) Hamming distance for different persons is about 31000 (depends on tested image)

推荐答案

我在Daugman的论文中实现算法/数学是成功的等我的建议是实际想象gabor内核找到th有意义的参数组合,如sigma和lambda。我没有使用OpenCV的GetGaborKernel,而是使用了手工制作的。

I was successful in doing this just by implementing the algorithm/math in Daugman's paper, etc. My suggestion is to actually visualize the gabor kernels to find the meaningful combination of parameters such as sigma and lambda. I didn't use OpenCV's GetGaborKernel but used a hand-crafted one.

这篇关于使用opencv比较虹膜图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆