Comparing irises images with opencv

血红的双手。 提交于 2019-12-11 04:37:05

问题


I need help with iris comparing.

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.

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);

Then I compute 12 Hamming distances using this function:

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

And get the average.

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.

Some sample pictures: Person one img1:

Normalized iris for person one img1:

Person one img2:

Normalized iris for person one img2:

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)


回答1:


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.



来源:https://stackoverflow.com/questions/27058057/comparing-irises-images-with-opencv

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!