How to run Libor Masek code(createiristemplate)?
Show older comments
% createiristemplate - generates a biometric template from an iris in % an eye image. % % Usage: % [template, mask] = createiristemplate(eyeimage_filename) % % Arguments: % eyeimage_filename - the file name of the eye image % % Output: % template - the binary iris biometric template % mask - the binary iris noise mask % % Author: % Libor Masek % masekl01@csse.uwa.edu.au % School of Computer Science & Software Engineering % The University of Western Australia % November 2003
function [template, mask] = createiristemplate(eyeimage_filename)
% path for writing diagnostic images global DIAGPATH DIAGPATH = 'diagnostics';
%normalisation parameters radial_res = 20; angular_res = 240; % with these settings a 9600 bit iris template is % created
%feature encoding parameters nscales=1; minWaveLength=18; mult=1; % not applicable if using nscales = 1 sigmaOnf=0.5;
eyeimage = imread(eyeimage_filename);
savefile = [eyeimage_filename,'-houghpara.mat']; [stat,mess]=fileattrib(savefile);
if stat == 1 % if this file has been processed before % then load the circle parameters and % noise information for that file. load(savefile);
else
% if this file has not been processed before
% then perform automatic segmentation and
% save the results to a file
[circleiris circlepupil imagewithnoise] = segmentiris(eyeimage);
save(savefile,'circleiris','circlepupil','imagewithnoise');
end
% WRITE NOISE IMAGE %
imagewithnoise2 = uint8(imagewithnoise); imagewithcircles = uint8(eyeimage);
%get pixel coords for circle around iris [x,y] = circlecoords([circleiris(2),circleiris(1)],circleiris(3),size(eyeimage)); ind2 = sub2ind(size(eyeimage),double(y),double(x));
%get pixel coords for circle around pupil [xp,yp] = circlecoords([circlepupil(2),circlepupil(1)],circlepupil(3),size(eyeimage)); ind1 = sub2ind(size(eyeimage),double(yp),double(xp));
% Write noise regions imagewithnoise2(ind2) = 255; imagewithnoise2(ind1) = 255; % Write circles overlayed imagewithcircles(ind2) = 255; imagewithcircles(ind1) = 255; w = cd; cd(DIAGPATH); imwrite(imagewithnoise2,[eyeimage_filename,'-noise.jpg'],'jpg'); imwrite(imagewithcircles,[eyeimage_filename,'-segmented.jpg'],'jpg'); cd(w);
% perform normalisation
[polar_array noise_array] = normaliseiris(imagewithnoise, circleiris(2),... circleiris(1), circleiris(3), circlepupil(2), circlepupil(1), circlepupil(3),eyeimage_filename, radial_res, angular_res);
% WRITE NORMALISED PATTERN, AND NOISE PATTERN w = cd; cd(DIAGPATH); imwrite(polar_array,[eyeimage_filename,'-polar.jpg'],'jpg'); imwrite(noise_array,[eyeimage_filename,'-polarnoise.jpg'],'jpg'); cd(w);
% perform feature encoding [template mask] = encode(polar_array, noise_array, nscales, minWaveLength, mult, sigmaOnf);
Answers (2)
Sadia sultana turna
on 26 Nov 2013
Edited: Sadia sultana turna
on 26 Nov 2013
0 votes
i don't have clear idea about the parameters. i am still looking for proper explanation.
but if u are concerned about running 'createiristemplate' , make sure u have some other function files and the image to be processed in the same matlab directory.
other files i had in my directory were:
addcircle adjgamma canny circlecords createiristemplate encode findcircle findline gaborconvolve gethammingdistance houghcircle hysthresh linecords nonmaxup normaliseiris segmentiris shiftbits
presence of all these eased processing of a '.bmp' format image and creating an iris template. why is that, well i am working on that. let me know if u get to know about explanation of stages of 'createiristemplate' ... :)
2 Comments
Umme Tania
on 27 Nov 2013
Ammar Malik
on 29 Nov 2013
Umme Tania I was also having the same problem but found out that actually the image I was using was not a 2D image. So, first you have to convert your image to grayscale 2D image using rgb2gray command. After this your problem will be solved insha-ALLAH :)
Ammar Malik
on 29 Nov 2013
0 votes
Umme Tania I was also having the same problem but found out that actually the image I was using was not a 2D image. So, first you have to convert your image to grayscale 2D image using rgb2gray command. After this your problem will be solved insha-ALLAH :)
2 Comments
Umme Tania
on 2 Dec 2013
monee
on 30 Nov 2018
umm tania i have the same problem can u help me??plz
Categories
Find more on Deblurring in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!