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



Download 1 Mb.
Pdf ko'rish
bet26/27
Sana11.01.2022
Hajmi1 Mb.
#339519
1   ...   19   20   21   22   23   24   25   26   27
Bog'liq
tanuvchi tizimida barmoq izlari yordamida shaxsni identifikatsiya qilish

Masalani yechishning algoritmi 

1.

 



Boshlash 

2.

 



i,j : i




 

)

2



2

(

)



1

1

(



=



=





L

D

L

D

  bajarish 

3.

 

 Delete(Array,j), Delete(Array,i) 



,

2

)



1

2

2



2

2

)



 T

 

(T

)

 

 

 

)

-y

(y

)

-x

(x

(

aMax)

 - a

a

(aMin

 

 

 

)

-y

(y

)

-x

(x

(

j

i

j

i

j

i

i

j

j

i

j

i

=



+







+


41 

 

4.



 

i,j : i





   

5.

 



 

bajarish Delete(Array,j), Delete(Array,i) 

8.

 

Tugatish 



 

Icki dastur tavsifi 

 

Subdoutine NextDotCW 



NextDotCW  usuli,  chiziqning  konturidagi  navbatdagi  nuqtani  qidirishni  "soat 

yo’nalishi  bo’yicha"  amalga  oshiradi,  buning  natijasida  chiziq  kontur  atrofida 

kesiladi.  Bu  distortionlarni  tuzatish  uchun  algoritmni  amalga  oshirish  uchun 

mo’ljallangan va kirish tasvirida jonsizlarni qidirishda ishlatiladi. Kichik dasturning 

sxemasi Rasm. 2.7. 

             CPoint  TFingPicture  ::  KeyingiDotCW  (const  CPoint  nuqta,  int  va  vec) 

Ushbu subroutine uchun kirish: CPoint nuqta - ma’lumotlar strukturasi - nuqta {x, 

y} dan siz qo’shni nuqtani topishingiz kerak; int vec - oldingi o’tishning yo’nalishi, 

va  [0..7].  Qidiruvni  tezlashtirish  uchun  foydalaniladi;  COLORREF  clMas  [9]  - 

atrofdagi  nuqtalarning  ranglar  majmuasi;  Ushbu  muntazamli  chiqimlar  quyida 

keltirilgan:  CPoint  incXY  [8]  -  qo’shni  fikrlarni  koordinatalari;  PointPoint  nuqta 

nuqtasiga  ulashgan  newDot  -  topilgan  nuqta  CPoint.  Nuqtadan  topilgan  ulashgan 

nuqtaga o’tish "soat yo’nalishi bo’yicha" yo’lni hosil qiladi. 

           Subdutin NextDotCCW NextDotCCW usuli, chiziq konturidagi navbatdagi 

nuqtani  qidirishni  "soat  teskari  yo’nalishda"  amalga  oshiradi,  buning  natijasida 

chiziq  kontur  bo’ylab  harakatlanadi.  Bu  distortionlarni  tuzatish  uchun  algoritmni 

amalga  oshirish  uchun  mo’ljallangan  va  kirish  tasvirida  jonsizlarni  qidirishda 

ishlatiladi.  

Kichik dasturning sxemasi Rasm.  

Sintaksis:  

CPoint TFingPicture :: 

 KeyingiDotSCW (const CPoint nuqta, int va vec)  

,

2

)



1

2

2



2

2

)



 T

 

(T

)

 

 

 

)

-y

(y

)

-x

(x

(

aMax)

 - a

a

(aMin

 

 

 

)

-y

(y

)

-x

(x

(

j

i

j

i

j

i

i

j

j

i

j

i

=



+







+


42 

 

Ushbu subroutine uchun kirish:  CPoint nuqta - ma’lumotlar strukturasi - nuqta {x, 



y} dan siz qo’shni nuqtani topishingiz kerak; int vec - oldingi o’tishning yo’nalishi, 

va  [0..7].  Qidiruvni  tezlashtirish  uchun  foydalaniladi;  COLORREF  clMas  [9]  - 

atrofdagi  nuqtalarning  ranglar  majmuasi;  Ushbu  muntazamli  chiqimlar  quyida 

keltirilgan:  CPoint  incXY  [8]  -  qo’shni  fikrlarni  koordinatalari;  PointPoint  nuqta 

nuqtasiga  ulashgan  newDot  -  topilgan  nuqta  CPoint.  Nuqta  nuqtadan  topilgan 

ulashgan  nuqtaga  o’tish  soatbo’yicha  teskari  tomonga  buriladi  "KeyingiDotCW" 

sxemasi 

 

 



Rasm. 2.7 

 

Dastur sxemasi «NextDotSCW» 



begin 

Конец


 

1.

i = 



vec, 

2.

step = 



0; 

3.

newdot 



= dot; 

clMas[i+1] 



< clMas[i] 

4.

vec=(i



+1)%8; 

5.

newdot.



x=dot.x 

+incXY[vec].x 

6.

newdot.


Да

Нет


 

7.

i = 



(i+1)%8; 

step++; 


 

step <= 8 

Да

 

Нет



 


43 

 

 



Rasm. 2.8 

 

1.5.3. Subroutine LookPic 



LookPic subroutine yuklangan tasvirni qayta ishlash va papillar satrlari ro’yxatini 

olish  uchun  mo’ljallangan.  Har  bir  yo’nalish  bitta  nuqta  bilan  belgilanadi  {x,  y}. 

Kichik dasturning sxemasi Rasm. 2.9. 

Sintaksis: 

 

ro’yxati  TAnalysePicture :: LookPic () 



 

Ushbu subroutine uchun kirish: 

TFingPicture * pic - ishlov berish uchun yuklangan xotirada bitmap ko’rsatgichi 

Ushbu muntazamli chiqimlar quyida keltirilgan: 

ro’yxati  Map - rastrdagi papillar satrlari ro’yxati. 

 

begin 



end 

8.

i = 



vec, 

9.

step = 



0; 

10.


newdot 

= dot; 


clMas[i+1] 

< clMas[i] 

11.


vec=(i+1)

%8; 


12.

newdot.x=

dot.x+incXY[(8-

vec)%8].x; 

13.

newdot.y=



Да

 

Нет



 

14.


i = 

(i+1)%8; 

step++; 

step <= 8 

Да

 

Нет



 


44 

 

Amaldagi o’zgaruvchilar: 



Xarita - papillar naqshidagi qayta ishlangan chiziqlar ro’yxati, har bir yo’nalish {x, 

y} nuqtasiga to’g’ri keladi. 

Amaliy qo’llanmalar: 

Pic.GetPixel  (x,  y)  -  rastr  pic  bo’yicha  koordinatalar  (x,  y)  bilan  piksel  rangini 

beradi; 

ClearLine (pic, x, y) - rasmni rastrdagi GetPixel (x, y) rangli maydonni o’chiradi. 

"LookPic" sxemasi 

 

 




45 

 

ha



begin

pic != null

ha

Yo’q


Rasm 

yuklanmadi

Map = null

i  = 0


j = 0

Map = LookPic()

i = 0

ChangeN = 0



{I,j} 

Ì 

Map



ClearLine(pic, i, j)

j < pic.width

Yo’q

ha

i < pic.height



end

Yo’q


pic.GetPixel(I,j) 

== 


черный

ha

j = 0



i++

A

A



j++

B

B



Yo’q

 

Rasm. 2.9 



ChangeLine subroutine 

ChangeLine  subroutine  rastrdagi  chiziqni  o’zgartirish  uchun,  yopishqoqlik  va 

tanaffusni to’g’rilaydi. Kichik dasturning sxemasi Rasm. 2.10. 

Sintaksis: 

 

int TAnalysePicture :: ChangeLine (ro’yxat  :: iterator _dot, ro’yxat 



& _map) 

 



46 

 

Ushbu subroutine uchun kirish: 



TFingPicture * pic - ishlov berish uchun yuklangan xotirada bitmapga ko’rsatgich; 

list  :: iterator _dot - ishlayotgan mavjud satrga ko’rsatgich; 

ro’yxati  & _map - rastrdagi qayta ishlangan chiziqlar ro’yxati. 

Ushbu muntazamli chiqimlar quyida keltirilgan: 

int changeN - rastrda tuzilgan o’zgarishlar soni; 

TFingPicture * pic - kirish tasvirini qayta ishlash natijasida o’zgarishi mumkin. 

Amaldagi o’zgaruvchilar: 

Dot0, nuqta nuqta  - ishlangan liniyaning konturiga  tegishli. Boshlang’ich  qiymati 

dot0 = _dot hisoblanadi. 

vec0, vec1 - ananaviy yo’nalish; 

keyingi bosqichga o’tish uchun qadam-qadam; 

alfaTest  pappillar  konturining  kuchli  egriligini  aniqlaydigan  oldindan  belgilangan 

sobitdir. 

Amaliy qo’llanmalar: 

GetVec (dot0, dot1) - dot0 dan dot1gacha yo’nalish; 

NextDotCW (dot0, qadam) - nuqta nuqtalari orqali nuqta koordinatalarini olish. 

 

Adezyon va sinishi, ssp.  



«ChangeLine» sxemasi 


47 

 

begin



dot1=NextDotCW

(dot0, step);

vec0=GetVec

(dot0, dot1);

Dot0 = dot1;

dot1=NextDotCW

(dot0, step);

vec1=GetVec

(dot0, dot1);

end


Нет

|vec1 


– vec0|

 < alphaTest

Да

Да

Birlashtirishmi?



Нет

changeN++ 

chiziqlarini ajratish

Да

ajralish



changeN++ 

birlashtirish

Нет

Boshlang’ich 



nuqtaga borish

Да

Нет



 

Rasm. 2.10 

 

ReadPic muntazamligi 



Rastrdagi ananaviy funktsiyalarni qidirish uchun ReadPic subroutine dasturini ishga 

tushiring. Kichik dasturning sxemasi Rasm. 2.11. 

Sintaksis: 

 

TAbsFing TAnalysePicture :: ReadPic (ro’yxat  :: iterator_dot) 



Ushbu subroutine uchun kirish: 


48 

 

TFingPicture * pic - ishlov berish uchun yuklangan xotirada bitmapga ko’rsatgich; 



list  :: iterator _dot ishlov berilayotgan joriy satrning ko’rsatgichidir. 

Ushbu muntazamli chiqimlar quyida keltirilgan: 

TAbsFing absfing - ananaviy funktsiyalar parametrlari ro’yxati. 2.1.3. 

Amaldagi o’zgaruvchilar: 

Dot0, nuqta nuqta  - ishlangan liniyaning konturiga  tegishli. Boshlang’ich  qiymati 

dot0 = _dot; 

vec0, vec1 - ananaviy yo’nalish; 

keyingi bosqichga o’tish uchun qadam-qadam; 

alfaTest  pappillar  konturining  kuchli  egriligini  aniqlaydigan  oldindan  belgilangan 

sobitdir. 

Amaliy qo’llanmalar: 

GetVec (dot0, dot1) - dot0 dan dot1gacha yo’nalish; 

NextDotCW (dot0, qadam) - nuqta nuqtalari orqali nuqta koordinatalarini olish. 

Bo’linish va tugatish-ga qarang. 

DotsFilter  subroutine  DotsFilter  subroutine  topilgan  ananaviy  funktsiyalar 

ro’yxatini  tartiblashtirish  va  vazifalar  ro’yxatini  ajratib  ko’rsatish  uchun 

mo’ljallangan.  Kichik  dasturning  sxemasi 

Rasm.  2.12.  Sintaksis:  int 

TAnalysePicture :: DotsFilter (TAbsFing & _dots) Ushbu subroutine uchun kirish: 

TAbsFing  &  _dots  -  rastrda  topilgan  ballar  ro’yxati,  papillar  modelining  ob’ekt 

tavsifiga  mos  kelmasligi  kerak  bo’lgan  kerakli  nuqtalarga  qo’shimcha  ravishda  - 

mintions, ortiqcha, doimiy bo’lmagan nuqtalarni o’z ichiga oladi. 

Ushbu muntazamli chiqimlar quyida keltirilgan: 

TAbsFing _dots - parametr parametrlari ro’yxati, format formatda tavsiflanadi 

Amaliy qo’llanmalar: 

Kesish (nuqta) - bu nuqta kesiklar va begona jismlar tomonidan yaratilgan ballarni 

nazarda tutadimi (2.4.4-bandga qarang); 

Filtr (dot1, dot2) - filtrlash holati (2.4.4-bandga qarang). 

"ReadPic" sxemasi 



49 

 

Начало



dot1=NextDotCW

(dot0, step);

vec0=GetVec

(dot0, dot1);

Dot0 = dot1;

dot1=NextDotCW

(dot0, step);

vec1=GetVec

(dot0, dot1);

Конец


Нет

|vec1 


– vec0|

 < alphaTest

Да

Да

Раздвоение?



Нет

Type = 


раздвоение

Да

Окончание?



Type = 

окончание

Нет

Пройдена 



начальная 

точка


Да

A

B



A

B

Alpha = 



ориентация 

локальной особенности

absFing += 

{dot0, Alpha, Type}

Нет

 

Rasm. 2.11 




50 

 

Sxema podprogrammi «DotsFilter» 



Начало

i = 0


Delete(_dots, i)

Конец


Нет

Порез(_dots[i])

?

Нет


i < |_dots|

Да

i++



Да

A

A



i = 0

j = I +1


Delete(_dots, i)

Delete(_dots, j)

Нет

Filter(_dots[i], 



_dots[j])?

Да

j++



Нет

j < |_dots|

Да

i++


j = i+1

Нет


i < |_dots|-1

Да

 



Rasm. 2.12 

 

Subroutine AnalysePicture 



AnalyzePicture subroutine yuklangan tasvirni qayta ishlash va keyinchalik saqlash 

va  taqqoslash  uchun  undan  ob’ekt  tasvirini  olish  uchun  mo’ljallangan.  Kichik 

dasturning sxemasi Rasm. 2.13. 

Sintaksis: 




51 

 

TAbsFing TAnalysePicture :: AnalysePicture () 



Ushbu subroutine uchun kirish: 

TFingPicture * pic - ishlov berish uchun yuklangan xotirada bitmapga ko’rsatgich. 

Ushbu muntazamli chiqimlar quyida keltirilgan: 

TAbsFing  Mutlaq  parametrlar  mutlaq  nuqtalarining  koordinatalarini  qayta 

ro’yxatlash, format par. 2.1.3. 

Amaldagi o’zgaruvchilar: 

Pappillar naqshidagi qayta ishlangan chiziqlarning xaritalar ro’yxati, har bir satr {x, 

y} nuqtasiga to’g’ri keladi; 

ChangeN - rastrdagi o’zgarishlar sonini saqlaydi. 

Amaliy qo’llanmalar: 

LookPic - chop etishdagi satrlar ro’yxatini qaytaradi; 

ChangeLine (i, Map) - chiziqni rastrga sozlash, yopishqoqlik va jarliklardan xalos 

bo’lish; 

ReadPic - muayyan fikrlar parametrlari ro’yxatini qaytaradi, sek. 2.1.3; 

DotsFilter (Ret) - muayyan nuqtalarni ajratish, paragraf shartlariga qarang. 2.4. 

 

Sinov bayonnomasi 



Dasturning  maqsadi.  Dasturning  asosiy  maqsadi  -  papillon  naqshlarining 

strukturaviy  vakili  bilan  taqqoslash  asosida  barmoq  izlari  bilan  shaxsni  aniqlash. 

Sinov holatlarida ko’plab test barmoq izlari bo’lishi kerak va barmoq izi ularni bir-

biri bilan taqqoslash uchun kamida ikkita nusxada taqdim etilishi kerak. 

Scheme subroutine "AnalysePicture". 



52 

 

Да



begin

pic != null

Да

Yo’q


Ko’rsatilma

gan rasmlar

Map = null

Ret = null

Map = LookPic()

i = 0


ChangeN = 0

ChangeN += 

ChangeLine(i, 

Map)


i++

i < |Map|

Нет

Да

ChangeN > 0



Нет

Map = LookPic()

i = 0

Ret += 


ReadPic(i, Map)

i++


Да

i < |Map|

Нет

DotsFilter(Ret)



end

 

Rasm. 2.13 



 

Xom ma’lumotlar 

Test uchun turli xil odamlar va turli yoshdagi 50 ga yaqin bosim qo’llanildi. Rasm. 

2.14,  2.15,  2.16  barmoq  izlari  bazasida  o’zlari  va  boshqa  barmoq  izlari  bilan 

solishtirilishi  kerak  bo’lgan  papillar  modelining  bir  nechta  tasvirlari.  Tasviriy 

ma’lumot barmoqni qorishtirish va oq qog’ozga qo’llash orqali olingan, undan keyin 

bosim skaner qilingan va bmp fayllari sifatida kompyuterda saqlangan. Shu tarzda 

olingan bosim yuqori sifatli emas, shuning uchun dasturning barcha bosqichlarini 

to’liq tekshirishingiz mumkin. 



53 

 

 



 

Rasm.  2.14  va  2.15  da  barmoq  izlari  bir  xil  barmoqni  ko’rsatadi,  ya’ni  dastur 

natijasida  ular  mos  kelishi  kerak.  Rasm.  2.16  oldingi  ikkita  barmoq  izidan  farqli 

o’laroq barmoq izi. Asl tasvir A1

 

 

Rasm. 2.14 



 A2 da’slepki ma’nisleri 

 

Rasm. 2.15 



B da’slepki ma’nisleri 


54 

 

 



Rasm. 2.16 

1.5.8. Viktorina ishlari 

Ichki tizimning natijasi. 2.17, 2.18, 2.19 kirish barmoq izlarining ingl. 

Strukturaviy tavsif A1 

 

 

Rasm. 2.17 



 

A2 B ni’n’ strukturali’q ko’rinisi 

 



55 

 

 



Rasm. 2.18 

 

 B ni’n’ strukturali’q ko’rinisi 



 

Rasm. 2.19 




56 

 

 



Tizim  dasturiy  sinovlari  barmoq  izini  aniqlash  Tizim  dasturiy  ta’minotini  sinab 

ko’rish  uchun  tasvirlarni  sinovdan  o’tkazish  qism  2.6.6  da  tasvirlangan  kiritishga 

topshirildi.  Testlar  2-ilovada  keltirilgan  dasturchilar  qo’llanmasiga  va  3-ilovada 

keltirilgan foydalanuvchi qo’llanmasiga muvofiq amalga oshirildi. Natijada Rasm. 

2.17, 2.18, 2.19. 

Olingan tizimli namoyishlar kirish tasvirlari bilan ingl. Taqqoslash orqali tekshirish 

qiyin bo’lgan kirish tasvirlarini aniq tasvirlab beradi. Bosimlarda taxminan 40..50 

soniyani  tashkil  etganligi  statistik  jihatdan  aniqlandi,  bu  qiymat  barmoq  hajmiga 

qarab keng chegaralarda farq qilishi mumkin. Sinov suratlari navbati bilan 19, 40, 

37  ni  topdi.  Kichikroq  miqdordagi  test  tasvirlari  faqat  to’liq  chop  etishning 

bo’laklari va B belgisi katta barmoqdan kattaroq ko’rsatkich barmog’i ekanligi bilan 

izohlanadi. 

Qo’shimcha  4da  siz  A1  (1.bmp),  A2  (R1_3rotate2.bmp)  bosimlari  bir-biriga 

o’xshash va 1R1_1.bmp nashrida o’xshash ekanligini ko’rishingiz mumkin, chunki 

ular o’ng qo’lning bosh barmog’ining barcha tasvirlari shaxs B belgisi (3l2_2.bmp) 

A1 va A2 ning hech biriga to’g’ri kelmaydi, ammo 3l2_1.bmp bilan mos keladi, bu 

ham to’g’ri natijadir, bu boshqa shaxsning o’ng qo’lining ko’rsatkich barmoq izlari. 

Tajriba  shuni  ko’rsatdiki,  ishlab  chiqilgan  dasturiy  ta’minot  o’xshash  barmoq 

izlarini  taqqoslash  va  qidirishga  qodir,  ya’ni  barmoq  izini  boshqaradigan  shaxsni 

aniqlash  mumkin.  Olingan  natijalar  kutilgan  natijalarga  to’g’ri  keladi  va  qo’lda 

taqqoslash bilan mos keladi. Buni tekshirish uchun 4-ilovada mavjud bo’lgan barcha 

bosimlarning to’liq taqqoslanishi ko’zda tutilgan. 

Dastur bilan bir qatorda, tahlil qilish va taqqoslash parametrlarini kichik tuzatishdan 

keyin alfavitning harflarini tan olish uchun tuzilgan. Tasdiqlash uchun ma’lumotlar 

bazasiga 2-rasmda ko’rsatilgan belgilar majmui kiritilgan. 2.20, keyinchalik alifboga 

nisbatan Rasm. 2.21. 

Ma’lumotlar bazasi alifbosi 

 



57 

 

  Rasm. 2.20 



 

Solishtirish alifbesi 

 

 

Rasm. 2.21 



Natijada,  ishlab  chiqilgan  algoritm,  eng  kam  o’zgarishlardan  so’ng,  belgilarni 

aniqlash uchun mos bo’ldi. Ish natijalari 5-ilovada keltirilgan. 

 

 

 



 

 

 



 


58 

 

 



XULOSA 

 

 



Qilingan  ishlar  natijasida  shunga  o’xshash  barmoq  izlarini  qidirishni 

avtomatlashtirish  uchun  uslub  ishlab  chiqildi  va  ushbu  usul  uchun  dastur  amalga 

oshirildi.  Dastur  ananaviy  funktsiyalarni  ta’kidlab,  odamni  barmoq  izlari  bilan 

avtomatik  ravishda  aniqlash  uchun  oqilona  vaqtni  beradi.  Qo’lda  aniqlash  bilan 

taqqoslaganda, tezlik va qulaylikdagi sezilarli daromad olinadi. 

Ishlab  chiqilgan  kichik  tizim  identifikatsiya  qilish  tizimining  ajralmas  qismi 

hisoblanadi.  Ishlov  berish  bosib  chiqarish  sifatini  yaxshilash  imkonini  beradi. 

Olingan xarakterlar tasvirni juda yaxshi ta’riflaydi, bu tasvir saqlash uchun qulay va 

yuqori darajada aniqlik bilan tanishishga imkon beradi. 

Yaratilgan kichik tizim vahiyning rastr namoyishini kompakt saqlash va undan ko’p 

avtomatlashtirish  va  boshqa  faoliyat  yo’nalishlari  bo’yicha  yanada  rivojlantirish 

uchun  mos  keladigan  tizimli  vakolatga  aylantirish  uchun  mo’ljallangan  tadqiqot 

quyi tizimi sifatida qaralishi kerak. 

 

             Rivojlangan  tizim  yangi  funktsional  funktsiyalarni  amalga  oshiradi  - 



avtomatlashtirilgan strukturaviy tahlil uchun tasvirlarni tayyorlash. 

 

 



 

 

 



 

 

 



 

 



59 

 

 




Download 1 Mb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   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