Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C#
hi,
i need a quick help.
i'm writing iris identity project in c# and i faced 2 problems.
 
the first is that i want to remove the pupil from the image put dont know how to do it? i draw an ellipse above it but if i can remove it that will be better.
 

the second is i want to unwrapped the image (the donat shape) and save it in a 512 , 64 image. i tried so hard but fail to find solution.
 
would anybody help me please?
 int int_Width =512;
                       int int_Height =64 ;
                
                       //Create the buffered image with the correct size    
                       Bitmap bImage = new Bitmap(int_Width, int_Height, b.PixelFormat);
 
                       //Get the graphics of the buffered image    
                       Graphics g = Graphics.FromImage(bImage);
 
                       MemoryStream ms = new MemoryStream();
                       finalImage.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
                       byte[] ary = ms.ToArray();
 
this is my last try, i dont know how to continue.
Posted 28-Dec-12 10:44am
Edited 28-Dec-12 10:45am
v2
Comments
Member 8475480 at 28-Dec-12 16:51pm
   
i have a funtion to unwrapped the image but it is in matlab and i couldnt convert it to c#
 
here is the function:
 
% this function converts the localized iris image to a normailzed one
% the input arguments are localized image(gray scale),iris radius,Puble radius,Center x,Center y
% the output is the normailized image (gray scale)
 
function Nor=Normalize(Loc,Ri,Rp,Xo,Yo)
m=round(2*pi*Ri); %m,n are the sizes of the normailized image before resizing
n=Ri-Rp;
Y=ones(1,n);
X=ones(1,m);
for y=1:n-1
k=1;
step=((y+Rp)/(Ri*pi))*2;
for l=Yo-y-Rp:step:Yo+y+Rp
Y(k)=round(l);
Y(m-k+1)=round(l);
X(k)=round(Xo+sqrt((y+Rp)^2-(l-Yo)^2));
X(m-k+1)=round(Xo-sqrt((y+Rp)^2-(l-Yo)^2));
k=k+1;
end
for x=1:m
try
Nor(x,y)=Loc(X(x),Y(x));
catch
Nor(x,y)=0;
end
end
end
Nor=imresize(Nor,[512 64],'bilinear');%resizing the image to have the required dimensions.
Nor=imrotate(Nor,-90);
Sergey Alexandrovich Kryukov at 28-Dec-12 18:01pm
   
Sorry, but you are too far away to discuss it seriously... You will cut the image to have only the iris, which is, by your description, is way too easy (ellipse is already known, suggested by the user, right?), now what? I you even cannot clean the outer area... OK, just one hint: use LockBits.
—SA

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

hi,
 
as far as i understand your problem, you want your program to automatically cut out the pupil!?! So it has to find it. Maybe you have to get in contact with OpenCV:
http://opencv.willowgarage.com/wiki/[^]
there is an wrapper for .net:
http://www.emgu.com/wiki/index.php/Main_Page[^]
hope this helps...
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web03 | 2.8.141022.2 | Last Updated 28 Dec 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100