Ако искате да намерите ирис, трябва да сте ясни за това. Частта от ириса, която търсите, всъщност се нарича лимб. Също така имайте предвид, че контрастът на лимба е много по-нисък от този на зеницата, така че ако разделителната способност на изображението позволява зеницата е по-добра цел. Java не е добър вариант като език за програмиране тук, тъй като 1. Той е бавен, докато обработката е интензивна; 2. Тъй като класическият кръг на Hough изисква 3D акумулатор и Java вероятно означава използване на мобилен телефон, изискванията за памет ще бъдат трудни.
Това, което можете да направите, е да използвате факта, че вероятно има един (или само няколко) лимбове в изображението. Първото нещо, което трябва да направите, е да намалите размерността на проблема от 3 на 2, като използвате ориентирани ръбове: извлечете хоризонтални и вертикални ръбове, които заедно представляват ориентация на ръба (те могат да се разглеждат като хоризонтални и вертикални компоненти на вектора на ръба). Простата идея е, че доминантното пресичане на ръбовите вектори е центърът на вашия лимб. За да намерите пресечната точка, ви трябват само два ориентирани ръба вместо три точки, които определят кръг. Следователно намаляването на размерността от 3 на 2.
Също така не е необходимо да използвате класическа трансформация на кръг на Хаф с огромен акумулатор и множество изчисления, за да намерите това пресичане. Рандомизираният Hough ще бъде много по-бърз. Ето как работи (~ към RANSAC): избирате минимален брой ориентирани ръбове на случаен принцип (във вашия случай 2), намирате пресечната точка, след това намирате всички ръбове, които се пресичат приблизително на едно и също място. Това са инлиери. Вие просто повтаряте 10-30 пъти, като избирате различна произволна извадка от 2 ръба, за да се установите в набор с максимален брой inliers. Да се надяваме, че тези вътрешни елементи лежат на лимба. Медианата на пресечните точки на вътрешните лъчи ще ви даде центъра на окръжността, а средното разстояние до вътрешните линии от центъра е радиусът.
На снимката по-долу ярките цветове съответстват на инлиерите и ориентацията е показана с малък линеен сегмент. Наборът от оригинални ръбове е показан в средата (само хоризонтално). Докато оригиналните ръбове лежат по протежение на елипса, ръбовете на Hough бяха трансформирани чрез афинна трансформация, за да направят тези, принадлежащи на лимба, да лежат в кръг. Също така имайте предвид, че ориентациите на ръбовете са доста шумни.
![въведете описание на изображението тук](https://i.stack.imgur.com/WfmZY.png)
person
Vlad
schedule
21.02.2015