【正文】
(path(length,2) 197) flag =1。 end。 if flag == 0 [next_x,next_y] = find_next(in,path)。 end。 %add it to the path path(length+1,1) = next_x。 path(length+1,2) = next_y。 out = path。 20 程序 2: function [out, real_end ] =end_track(in,end_list,branch_list) % 2/12 % this function will use the input image and the end_list to generate the % output image ( cleaned ) and the list of real minutiae ( end points ) % % out output image % real_end real minutiae (end points) % in input image % end_list the list of valid and invalid end points real_end = zeros(1,3)。 end_count = 0。 39。end_track39。 out = in。 [number_of_end, dummy] = size(end_list)。 for i=1:number_of_end %path is a list of the tracked element in the currently %tracking ridge path = zeros(1,2)。 path(1,1) = end_list(i,1)。 path(1,2) = end_list(i,2)。 if is_single(path(1,1),path(1,2),out) == 1 %it is a single point (pore) it should be invalid minutia % and will be removed out(path(1,1),path(1,2)) = 0。 else 21 % loop for n times , n max path length value flag = 0。 for j=1:25 path = go_to_next_element(in, path)。 % check two conditions here % if any one of the condition match % break the loop [len ,ddummy] = size(path)。 curr_x = path(len,1)。 curr_y = path(len,2)。 % three conditions will break the loop. if is_a_end_point(curr_x,curr_y,end_list) == 1 39。 is a end39。 %need to delete it from output image % flag = 1。 break。 elseif is_a_branch_point(curr_x,curr_y,branch_list) == 1 39。is a branch39。 %need to delete it from output image % flag =1。 break。 elseif curr_x == 0 amp。 curr_y == 0 39。 curr is 039。 flag = 1。 break。 end。 % no break 22 j end。 %end of the 25 loop % the path length of the ridge is % longer than 24 pixels % it consider as a valid minutia (end points) % store it in the real_end if flag == 0 [ path_length, dddd] = size(path)。 mean_x = 0。 mean_y = 0。 for k = 1:path_length mean_x = mean_x + path(k,1)。 mean_y = mean_y + path(k,2)。 end。 mean_x = mean_x / path_length。 mean_y = mean_y / path_length。 theta = atan2( (mean_x path(1,1)),(mean_y path(1,2)) )。 end_count = end_count +1。 real_end(end_count,1) = path(1,1)。 real_end(end_count,2) = path(1,2)。 real_end(end_count,3) = theta。 end。 end。 %else% i end。 23 致 謝 本論文是在 老師精心 指導(dǎo)下完成的 。 從論文方向的確立到論文的形成無 不傾注了老師的 心血。老師淵博的 學(xué)術(shù)知識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度以及一絲不茍的工作作風(fēng) 給我留下了深刻的印象, 使我受益終生 。老師的理解、支持和幫助,使我有機(jī)會(huì)去鍛煉和充實(shí)自己,在此謹(jǐn)向老師致以深深的敬意! 再次, 感謝 我的同學(xué)在學(xué)習(xí)、工作和生活中給予的關(guān)心和幫助! 最后, 感謝父母 長(zhǎng)期以來在我漫長(zhǎng)的求學(xué)生涯中給予的無私奉獻(xiàn) 默默的支持,他們的理解和鼓勵(lì)使我能夠?qū)P牡耐瓿?學(xué)業(yè),他們 的言行 永遠(yuǎn)激勵(lì)鞭策著我前進(jìn)。