Kommunikasiyalarini rivojlantirish vazirligi muhammad al-xopazmiy nomidagi toshkent axborot texnologiyalari universiteti



Download 1 Mb.
Pdf ko'rish
bet11/27
Sana11.01.2022
Hajmi1 Mb.
#339519
1   ...   7   8   9   10   11   12   13   14   ...   27
Bog'liq
tanuvchi tizimida barmoq izlari yordamida shaxsni identifikatsiya qilish

Matlab 

dasturining 

tavsifi

 

        Insonni 



barmoq 

izlari 


bilan 

identifikatsiyalashni  amalga  oshiradigan  dastur  quyidagi  ishlov  berish 

funktsiyalarini o’z ichiga oladi. 

        


Tasvirni yaxshilash uchun oldindan ishlovni amalga oshiradigan func_ improve 

()  funktsiyasidan  foydalaning.  Ushbu  funktsiya  parametr  sifatida  tasvirni  oladi, 

keyin  rasm  segmentatsiyasini,  yo’nalishni  va  filtrlashni  bajarish  uchun  kerakli 

funktsiyalarni bajarish uchun kerakli qiymatlarni parametr sifatida o’tkazish uchun 

chaqiriladi, masalan, tasvirlarni qabul qilish uchun blktamano - blok hajmi o’zgaradi 

va  treys  uchun  belgilangan  qiymat  .  Ichki  jarayon  qaytib  kelgan  o’zgaruvchilar, 

tasvirni qayta ishlash natijasi bilan tugallanganda 

         Funktsiya kodi: 

 

function [ binim, mask, oimg ] = func_improve( img ) blktamano = 5;   



 thresh = 0.085;      

     norm = rgcment(enhimg, blktamano, thresh);    

  oimg = rgort(norm, 1, 3, 3);           

 

        [norm, mask] = rgcment(enhimg, blktamano, thresh);      



 


19 

 

    [freq, medfreq] = rgfr(norm, mask, oimg, 32, 5, 5, 15);   



   binim = rgfi(norm, oimg, medfreq.*mask, 0.5, 0.5, 1) > 0; end 

 

  



         

Maxsus  nuqtalarni  tanlash  uchun  ushbu    func_  improve  ()  funktsiyasi 

vazifasini  amalga  oshiradigan  getFingers  ()  funktsiyasidan  foydalaning  va  keyin 

barmoq izi tasvirining parametrlarini hisoblab chiqadi. Quyida funktsiya kodining 

bir  qismi  ko’rsatilgan.  Rasmni  yaxshilaganidan  so’ng,  getFingers  ()  funktsiyasi 

bwmorph  ()  funktsiyasini  chaqirib,  tasvir  skeletlari  topilishi  jarayonini  amalga 

oshiradi.  So’ngra,  bwmorph  ()  funktsiyasining  natijasini  olish  uchun,  ushbu 

funktsiyaning ichida, formulalarni (3) qo’llash orqali tasvirning skeletlari topilgan 

minutlarni izlang. Keyin clcMinute () funktsiyasini chaqiradi,  ortiqcha bo’lmagan 

parchalarning piksellarini olib tashlaydi va tasvir shablonining natijalarini vektorini 

hosil qiladi. 

          

         Funktsiya kodi: 

 

function [ result ] = getFingers( img) 



 

 

 



   [ binim, mask, oimg ] = func_improve(img);   

 thinn =  bwmorph(inv_binim, 

thin


,Inf);   

  contMin = 1; 

 

   minussi(contMin, :) = [0,0,0]    CN = 0; 



sx=0; sy=0;       

           for i = 1:8 

 

                  t1 = p(thinn, x, y, i);       



             t2 = p(thinn, x, y, i+1);       

             CN = CN + abs (t1-t2);        

          end     cn = cn / 2; 

 

               if cn ~= 3 && cn ~= 4 || m == 1 



 


20 

 

                  for n=1:8 



 

                      if reverse_p == 0 || iter > 1            

              [ta, xa, ya] = p(thinn, x1, y1, n);            

           else 

 

                         [ta, xa, ya] = p(thinn, x1, y1, 9-n);                



            end 

 

              if ta == 1 && (xa ~= p1x || ya ~= p1y) && (xa ~= x 



 

|| ya ~= y) 

 

                         p1x = x1; p1y = y1;        



                   x1 = xa; y1 = ya;           

                break;                    

    end             

       end            

     end 

 

     result=clsMinute(minussi,CN,thinn); 



 

     end 

 

          



O’chirishlarni  olib  tashlash  uchun  clcMinute  ()  funktsiyasi  mavjud  bo’lib,  

ushbu  funktsiya  tasvirni  piksellar  bilan  ko’zdan  kechiradi,  MINUCIUS  ning 

vektorining qiymatini kirish parametri sifatida oladi va unga mos keladigan juftlarni 

px  va  py  vektorlarini  x  va  y  koordinatalari  bilan  to’ldiradi  va  keyin  tasvirni 

aylantirish  uchun  aylanish  jarayonida  ishlatiladigan  bayroqchani  belgilaydi  va 

belgilaydi qaysi piksellar haqiqiy, tugatish va bifurkatsiyaga to’g’ri keladi. 

 Funktsiya kodi: 

function [indic] = clsMinute(m, CN, img) 

 

  index = 1;  



 indc = [];  

 for i = 1:size(m,1)    p_x 

m(i,1);    



21 

 

 p_y = m(i,2);    p_d = 0;    



l_x = 0; 

    l_y = 0;     

 

   flag = 0;   



 

   while flag == 0 && CN(i) == 1 

 

       ind = 1; 



 

     while  flag  ==  0  &&  ind  <=  size(m,1)              if  p_x  == 

m(ind,1) && p_y == m(ind,2)         flag = 1; 

 

        continue;              end       



ind = ind + 1;      end   

 

     for j = 1:8 



 

       [t,nx,ny] = p(img, p_x, p_y, j);        if t == 1 && (nx ~= 

l_x || ny ~= l_y)                  l_x = p_x;           l_y = p_y;           

p_x = nx;           p_y = ny;           break;        end      end      

p_d = p_d + 1;    end  

 

   if flag == 0       indic(index) = 



i;        index = index + 1;    end   

end 


 

  

          



Barmoq  izini  ma’lumotlar  bazasida  saqlangan  andozalar  bilan  taqqoslash 

uchun evalitsion () funktsiyasidan foydalanamiz. Fmatching () funktsiyasi TEMP1 

va TEMP2 bilan solishtirish uchun ikkita andozani oladi va tashqi funktsiya tramfor 

()  yordamida  ishlashni  amalga  oshiradi.  TEMP1  uchun  count1  o’zgaruvchilar 

qiymatlarini  va  TEMP2  uchun  count2  qiymatlarini  mos  ravishda,  o’lcham 

funktsiyasi bilan belgilangan oralig’ida naqshlar ustidan yineleyak uchun ishlatiladi. 

Shabloni  o’tkazish  jarayonidan  so’ng  baholash  ()  funktsiyasi  tegishli  daqiqalar 

orasidagi masofani hisoblash uchun chaqiriladi. 

            Funktsiya kodi: 



22 

 

 



function

 [ S ] = fmatching( TEMP1, TEMP2) disp(TEMP1);  

disp(TEMP2);  

    if nargin==2;  

flag=0; end     TEMP1= TEMP1(TEMP1(:,3)<4,:);     TEMP2= 

TEMP2(TEMP2(:,3)<4,:);         cont1=size(TEMP1,1); 

 cont2=size(TEMP2,1);   

    bi=0;  bj=0;  ba=0;            S=0;                 

for 

i=1:cont1         



T1=tramfor(TEMP1,i);         for 

j=1:cont2  

            if TEMP1(i,3)== TEMP2(j,3)                 T2=tramfor(TEMP2,j);  

 

                for a=-3:3                                           T3=tramfor(T2,a*pi/180);                     



sm=evaluation(T1,T3);  

                    if S

                        S=sm;                          

                    end                                 

end             end         end  

    end  

 

 

             



evaluation() 

funktsiyasi 

shablonlarning 

har 


birining 

hajmi 


va 

spetsifikatsiyasini  aniqlaydigan  va  x,  y  koordinatalari  bilan  juftliklar  orasidagi 

masofani hisoblashlar  operatsiyasini amalga oshiradigan ichki funktsiyani chiroylik 

() funktsiyasida aylantirilgan shablonlarga mos keladigan T1 va T2 o’zgaruvchilarni 

oladi. Masofalar dx va dy qiymatlari bilan ifodalanadi, bu funktsiyaning bajarilishi 



23 

 

oxirida  masofa  hisoblash  operatsiyalari  natijalari  bilan  o’zgaruvchan  sm  ga 



qaytariladi. 

 Funktsiya kodi: 

function [ sm ] = evaluation( T1, T2 )  

    Cont1=size(T1,1); Cont2=size(T2,1); n=0;  

    T=15;              TT=14;            for 

i=1:Cont1         

Encuent

 =0; j=1;  

        while 

(

Encuent



 

==0) 


&& 

(j<=Cont2)             

dx=(T1(i,1)-T2(j,1));                          dy=(T1(i,2)-T2(j,2));             

d=sqrt(dx^2+dy^2);                 if d

                DTeta=abs(T1(i,3)-T2(j,3))*180/pi;                 

DTeta=min(DTheta,360-DTeta);                                  if  DTeta

n=n+1;                             

Encuent


 =1;                 end             end             

j=j+1;         end     end  

    sm=sqrt(n^2/(Cont1*Cont2));        end  

 

 



 


24 

 


Download 1 Mb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   ...   27




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2025
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish