-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathiris_d.asv
61 lines (54 loc) · 1.72 KB
/
iris_d.asv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
clear all;
clc;
debug=0;
x_g=imread('02_L.bmp');
if size(x_g,3) == 3
x_g=rgb2gray(x_g);
end
[r,c]=size(x_g);
x_v=imcomplement(x_g);
x_bw=im2bw(x_v,0.9);
[p_centre,p_radii]=imfindcircles(x_bw,[42 45],'ObjectPolarity','bright','sensitivity',0.99);
x_co=imadjust(x_g,[],[],3.75);
x_co_v=imcomplement(x_co);
x_co_bw=im2bw(x_co_v,0.9);
for i=2:r-1
for j=2:c-1
med=[x_co_bw(i-1,j-1), x_co_bw(i-1,j), x_co_bw(i-1,j+1), x_co_bw(i,j-1), x_co_bw(i,j), x_co_bw(i,j+1), x_co_bw(i+1,j-1), x_co_bw(i+1,j), x_co_bw(i+1,j+1)];
x_co_bw_m(i,j)=median(med);
end
end
[i_centre,i_radii]=imfindcircles(x_co_bw_m,[102 103],'ObjectPolarity','bright','sensitivity',0.997);
normalized= iris_normalise( x_g, p_centre(2), p_centre(1), p_radii , i_centre(2) , i_centre(1) , i_radii);
[E0,filtersum] = gaborconvolve(normalized, 1, 18, 1, 0.5);
[template] = encode1(normalized, 1,E0);
normalized1=uint8(normalized);
imwrite(x_g,'eye.bmp');
if debug==1
imwrite(x_v,'inverse.bmp');
p_radii = p_r;
x_g1=x_g;
theta=0:1:360;
r1=round(p_centre(2) + p_radii*sin(theta));
c=round(p_centre(1) + p_radii*cos(theta));
for j=1:length(r1)
x_g1(c(j),r1(j),:)=[0 0 255];
end
end
figure(2)
imshow(x_g1)
drawnow
imwrite(x_g1,'image_out_2.jpg');
viscircles(p_centre,p_radii,'EdgeColor','r');
imwrite(x_bw,'pd.bmp');
viscircles(p_centre,p_radii,'EdgeColor','r');
imwrite(x_g,'pd2.bmp');
imwrite(x_co,'gamma.bmp');
imwrite(x_co_bw_m,'median.bmp');
viscircles(i_centre,i_radii,'EdgeColor','r');
imwrite(x_co_bw_m,'id.bmp');
end
viscircles(i_centre,i_radii,'EdgeColor','r');
viscircles(p_centre,p_radii,'EdgeColor','r');
imwrite(x_g,'pi.bmp');
imwrite(normalized1,'norm.bmp');