Iris detection is not working EMGUCV

1.8k views Asked by At

I am new to Image processing , I am trying to implement a IRIS detection application fro my academics.

In the application i have successfully detected right eye from input stream . After that i have to perform the iris detection operation so i was following the below link http://www.emgu.com/forum/viewtopic.php?f=7&t=3356

The application returns about 17 circles have been detected when giving an input image but when i give the web camera as input it returns 0.(I don't know the reason). I want the to detect the iris perfectly and accurately. Please help me to solve this issue.

1.What should i do to detect the iris accurately? (Code samples would be useful)

2.Why application is not any circles form web camera input stream ?

Thanks in advance

This is the code i used to detect circles in the right eye pictureenter image description here

double cannyThreshold = 180.0;
            double circleAccumulatorThreshold = 20;
            int irisy = 0;

        //Taken from - http://www.emgu.com/forum/viewtopic.php?f=7&t=3356
        CircleF[] circles = grayframeright.HoughCircles(
            new Gray(cannyThreshold),
            new Gray(circleAccumulatorThreshold),
            2.0, //Resolution of the accumulator used to detect centers of the circles
            20.0, //min distance
            5, //min radius
            0 //max radius
            )[0]; //Get the circles from the first channel


        MessageBox.Show(circles.Length + " circle length");

        CircleF Iris = new CircleF();

        foreach (CircleF circle in circles)
        {
                ImageFrame.Draw(circle, new Bgr(Color.Red), 2);
                grayframeright.ROI = new Rectangle();
                grayframeright.ROI = Rectangle.Empty;

                grayframeright.ROI = new Rectangle(10, 30, grayframeright.Width - 10, 55);
                Iris = circle;


         }
1

There are 1 answers

0
lennon310 On

First of all, why your 0 //max radius is even smaller than 5, //min radius? If you have a rough estimation of the iris radius, try to adjust these two values to make sure only circles within this range will be detected.

Secondly, tune the value of 2.0, //Resolution of the accumulator used to detect centers of the circles. Basically the smaller this threshold is set, the more circles may be detected.