Chiqish ma’lumotlari. Ushbu topshiriq bo’yicha chiqish ma’lumotlari, tuzatilgan rastr bo’lib, amalda ular bilan yopishib qolmagan va bo’shliqlar mavjud emas.
Matematik ifodalar.Zilzilalarni qidirish ananaviy funktsiyalarni topish bilan sodir bo’ladi. Ananaviy xususiyatlar chiziqlar konturining kuchli distortionidir. Minus bo’lgan egri chiziqlar va tugunlar bo’lib, ular bilan bir qatorda qo’shni qatorlarni birlashtirilib, bir satrning bo’laklari yo’qolib ketadi.
Rasm. 2.2 da chegaralar ko’rsatilgan, bunda quyidagi amallar bajariladi:
bu yerda A = {x,y};
B = {x,y};
– Empirik qiymat.
2.3 Rasmda. Chiziqlarni ajratish ko’rsatilgan
Chiziqlarni ajratish
- pappilar chiziq naqshlarining konturining kuchli egri;
pappillar chizig’ining ehtimol davom etadigan nuqtasidir;
- mumkin davom etadigan nuqtada kontur egriligi;
D1, D2 - qo’shni hududlar;
L1, L2 - papillar naqshining mumkin bo’lgan qo’shni depressiyalari. Rasm. 2.2
Chiziqlarni yopish
- pappilar chiziq naqshlarining konturining kuchli egri;
pappillar chizig’ining ehtimol davom etadigan nuqtasidir;
- mumkin davom etadigan nuqtada kontur egriligi;
D1, D2 - qo’shni hududlar;
L1, L2 - papillar naqshining mumkin bo’lgan qo’shni depressiyalari. Muammoni hal qilish algoritmi. Chop rasmidagi har bir qatorni qayta ishlashning asosiy bosqichlarini tanlang:
ishlov beriladigan chiziqqa tegishli rastrada o’zboshimchalik bilan qora nuqtani tanlang va bu nuqta tegishli pappillar naqshlarining kontur bo’ylab harakatlanishni amalga oshiring;
agar yorilish maydoni aniqlansa, chiziq yaxlitligi tiklanadi; - agar yopishqoq joy aniqlansa, chiziqlar uziladi.
Ishning natijasi - bu rastr, uni asl nusxadan ko’ra ko’proq qidirishga mos.
R - Bit rastr
Xarita ro’yxati. Xarita = {x, y} i
R.GetPixelColor (x, y) - rastr R da koordinatalar (x, y) bilan pikselning rang qiymatini qabul qilish
R.FloodFill (x, y, rang) - rangi rangi R.GetPixelColor (x, y) bilan maydonni to’ldiring.
R.width () - rastrning pikseldagi kengligi
R.height () - pikseldagi rastr balandligi
R.ChangeLine (Map [i]) - chiziqning konturini burilish nuqtasidan boshlab [i]
1. Boshlash
R-rastrdan Map chiziqlari ro’yxatini yarating i, i i [1, | Map |] R.ChangeLine (Xarita [i])3. 4. Rastr R o’zgartirilgan bo’lsa, 2-bosqichga o’ting
5. Oxiri
"Yo’nalishlar ro’yxatini shakllantirish" algoritmining tavsifi Turli xil papillar sathlariga tegishli rastr nuqtalarini topish algoritmi
begin
x::=0, y::=0
If R.GetPixelColor(x,y) != 0x000000, go to p. 5
(x,y) Map; R.FloodFill(x, y, 0xFFFFFF)
y++;
if y < R.width(), go to p. 3
x++; y::=0;
if x < R.height(), go to p. 3
End
Do'stlaringiz bilan baham: |