|
Bitiruv malakaviy ishning maqsadi
|
bet | 3/10 | Sana | 19.05.2024 | Hajmi | 5,85 Mb. | | #243799 |
Bog'liq Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari uBitiruv malakaviy ishning maqsadi: Ushbu bitiruv malakaviy ishi, “Python dasturlash tilidan foydalanib tasvirlarga dastlabki ishlov beruvchi dastur yaratish” mavzusida bo’lib ishning asosiy maqsadi tasvirlarga ishlov berish va tahlil qilishning zamonaviy muammolari va yechimlarini o’rganish hamda Python dasturlash tilidan foydalanib tasvirlarga dastlabki ishlov berish algoritmlari asosida dasturiy vosita ishlab chiqishdan iborat.
Ishning tuzilishi va tarkibi: Ushbu bitiruv malakaviy ishi kirish, uch bob, xulosa, bitiruv malakaviy ishiga ilova va foydalanilgan adabiyotlar royhatidan iborat:
Birinchi bobda kompyuter rafikasida tasvirlar va ularni qayta ishlash masalalari atroflicha tahlil qilib chiqiladi. Ikkinchi bobda Python dasturlash tilida tasvirlarga dastlabki ishlov berish asoslari va ularning imkoniyatlarini o’rganiladi. Uchinchi bobda Python dasturlash tilidan foydalanib tasvirlarga dastlabki ishlov beruvchi dastur yaratish masalasi ko’rib chiqiladi.
I BOB. KOMPYUTER RAFIKASIDA TASVIRLAR VA
ULARNI QAYTA ISHLASH 1.1. Kompyuter grafikasi haqida asosiy ma’lumotlar.
Kompyuter grafikasi — grafik displey (monitor) ekranida tasviriy informatsiyani vizuallash (ko`rinadigan qilish) jarayonidir. Tasvirni qog`ozda, fotoplyonkada, kinolenta va boshqalarda aks ettirish usulidan farqli ravishda kompyuter grafikasida kompyuterda hosil qilingan tasvirni darhol o`chirib tashlash, unga tuzatish kiritish, istalgan yo`nalishda toraytirish yoki cho`zish, yaqinlashtirish va uzoqlashtirish, burish, harakatlantirish, rangini o`zgartirish va boshqa amallarni bajarish mumkin. Kitoblarni bezash, rasm va chizmalarni tayyorlashda buyumlarni loyihalash va modellarini yasashda, telereklamalar yaratishda, multfilmlarni yaratishda, kinofilmlarda qiziqarli kadrlar hosil qilish va boshqa ko`p sohalarda qo`llaniladi.
Kompyuter grafikasi bilan ishlovchi dasturlar qatoriga bir qancha dasturlarni sanab o`tish mumkin. Jumladan, Microsoft Paint, Adobe Photoshop, Adobe Illustrator, Corel Draw, Adobe Freehand, Adobe InDesign, Adobe ImageReady, Adobe Flash, Discreet, Cinema 4d, Alias, Autodesk Maya, LightWave, Adobe Brush va hokazolardir. Ushbu dasturlarda kompyuter grafikasiga oid ishlarni amalga oshirish mumkin. Ba’zilarida oddiy rasm chizish mumkin bo`lsa, ba’zilarida uylar proyektlari, ba’zilarida esa uch o`lchamli modellashtirish va hattoki to`rt o`lchamli modellashtirish mumkin bo`ladi. Inson tashqi dunyo haqidagi axborotning asosiy qismini ko`zlari yordamida qabul qiladi. Ko`rish tizimi turli obyektlarning tasvirini qabul qilib oladi. Ular yordamida insonda tashqi muhit va undagi obyektlar haqida tasavvur paydo bo`ladi. Obyektlarning tasvirini yaratish, ularni saqlash, qayta ishlash va tasvirlash qurilmalarida tasvirlab berish kompyuterning eng qiyin va asosiy masalalaridan biridir. Kompyuterga hech qanday topshiriq berilmaganda, ya’ni bekor turganida ham ekranida ko`rinishi kerak bo`lgan tasvirni sekundiga o`nlab marta qayta ishlab ko`rsatadi. Kompyuterning ekranida paydo bo`ladigan tasvirlar uning videokarta deb ataluvchi qurilmasi yordamida yaratiladi va ekranga chiqariladi. Videokartalar uchun maxsus videoprotsessorlar ishlab chiqariladi.11 Videoprotsessorlar kompyuterning asosiy protsessorini murakkabligi va hisoblash ishlarini bajarish tezligi bo`yicha ortda qoldirib ketgan.
Kompyuterning ma’lumotlarni elektron ko`rinishda tasvirlash qurilmasi monitor (monitor - kuzatish, nazorat) deb ataladi. Kompyuterda bo`layotgan jarayonlarni monitor orqali kuzatish mumkin. Monitorning tasvirlar ko`rsatiladigan qismi, ya’ni ekrani displey (display - tasvirlamoq) deb ataladi. Hozirgi paytda alohida korpusda yig`ilgan tasvirlash qurilmalari kompyuter monitori, kompyuter bilan birga joylangan tasvirlash qurilmalari (masalan, noutbuk, planshet hamda telefonlarda) displey deb atalmoqda.
Displey to`g`ri to`rtburchak ko`rinishida bo`lib, uning tomonlari nisbati odatda 16 ga 9 kabi bo`ladi. Bundan tashqari, displey tomonlari nisbati 16 ga 10, 4 ga 3, 5 ga 4 kabi bo`lishi ham mumkin. So`nggi paytda 21 ga 9 nisbatdagi displeylar ishlab chiqarila boshlandi. 16x9 va 16x10 nisbatli displeylar keng, 21x9 nisbatlilari o`ta keng, 5x4 nisbatlilari kvadrat displeylar deb ataladi. Piksellar soni bo`yicha displeylardan keng tarqalganlari va ularning nomlari quyida keltirilgan:
320x240 CGA (Color Graphic Adapter - rangli grafik qurilma);
640x480 VGA (Video Graphic Adapter - video grafik qurilma);
800x600 SVGA (Super VGA);
1024x768 XVGA (extended VGA - kengaytirilgan VGA);
1280x720 HD (High Definition - yuqori aniqlik);
1280x800 HD+ (HD dan ko`proq);
1366x768 WXVGA (Wide XVGA - keng XVGA);
1440x900 HD++ (HD dan yanada ko`proq);
1600x900 HD+++ (HD dan yanada ko`proq);
1920x1080 FHD (Full HD - to`liq HD);
2560x1440 QHD (Quadra HD - to`rtlangan HD);
3840x2160 4K (4 kilo - to`rt ming ustun) yoki UHD (Ultra HD - o`ta HD)
Displey ekrani satrlarga va ustunlarga ajratib chiqilgan bo`lib, har bir qator va ustun kesishgan joyda piksel deb ataluvchi juda kichik tasvir bo`laklari joylashgan. Piksellarning har biri alohida manzilga ega va mustaqil boshqarilishi mumkin. Har12 bir piksel uchun xotirada bir baytdan to`rt baytgacha joy ajratilishi mumkin. Demak, har bir piksel 256 tadan 4 milliardgacha bo`lgan ranglardan birida bo`lishi mumkin. Ekrandagi har bir pikselning o`zi uchga bo`linadi. Ulardan biri qizil, ikkinchisi yashil, uchinchisi ko`k rangda porlaydi. Bu ranglar asosiy ranglar deb ataladi va turli nisbatda qo`shilib, tabiatda uchraydigan ranglarning deyarli barchasini yarata oladi.
Kompyuter grafikasi faoliyatning shunday turiki, unda kompyuter va maxsus yaratilgan dasturlardan foydalanib, tasvirlar yaratiladi, mavjudlari raqamli ko`rinishga o`tkaziladi, qayta ishlanadi, saqlanadi va qulay ko`rinishda tasvirlanadi. Kompyuter grafikasi o`tgan asrning 70-80-yillaridan boshlab ommaviylasha boshladi. Hozirgi kunda kompyuter grafikasi shu qadar rivojlanganki, uning ehtiyojlarini qondirish kompyuter texnikasining jadal rivojlanishining asosiy sabablaridan biri bo`lib qolmoqda.
Kompyuter grafikasi ilm-fanga, tijoratga, san’at va sportga ham tegishli bo`lib, barcha sohalarda keng qo`llaniladi. Kompyuter grafikasi bo`yicha har yili ko`plab konferensiyalar o`tkaziladi, ilmiy jumallar va o`quv qo`llanmalar chop etiladi, dissertatsiyalar himoya qilinadi. Har yili bir necha yuz milliard dollarlik kompyuter grafikasi mahsulotlari ishlab chiqariladi va sotiladi. San`at durdonalari yaratiladi.
Kompyuter grafikasi asosida yaratilgan elektron o`yinlar bo`yicha jahon birinchiliklari o`tkaziladi va ularda millionlab qatnashchilar ishtirok etadilar. Kompyuter grafikasi nimaning tasviri yaratilishiga qarab quyidagi sinflarga ajratiladi:
1) statsionar (o`zgarmas) yoki oddiy grafika;
2) kompyuter animatsiyasi;
3) multimedia.
Yaratish usuliga ko`ra kompyuter grafikasi ikki guruhga ajratiladi:
2D (inglizcha two dimension - ikki o`lchamli jumlasidan olingan).
3D (inglizcha three dimension - uch o`lchamli jumlasidan olingan).
Ikki o`lchamli grafika yassi va tekis sirtlarda yaratilgan tasvirlar bo`lib, ularga misol sifatida printerda qog`ozga chop etilgan fotosurat, rassom tomonidan xolst (maxsus mato) da chizilgan rasmlarni keltirish mumkin.
Uch o`lchamli grafika yordamida hajmga ega jismlar tasvirlanadi. Bunda jismning fazoda egallagan o`rni mayda kublar bilan to`ldiriladi. Agar bu kublar yetarlicha kichik bo`lsa, inson ko`zi ularni ilg`amaydi va kublar yaxlit bir jism sifatida ko`z o`ngimizda gavdalanadi.
Uch o`lchamli grafikadan animatsiya, kompyuter o`yinlari va virtual (xayoliy) borliq yaratishda keng foydalaniladi. Virtual borliq, asosan, maxsus bosh kiyim – shlemlarda tasvirlanadi.
Oddiy grafika vaqt o`tishi bilan o`zgarmaydigan tasvirlarni yaratish bilan shug`ullanadi. Ularga misol sifatida rasmlar, fotosuratlar, chizmalarni keltirish mumkin. Kompyuter animatsiyasi vaqt o`tishi bilan o`zgaradigan tasvirlar yaratadi. Masalan, multfilmlar, videoklip va videoroliklar.
Multimedia mahsulotlari rasmlar va animatsiya bilan birga boshqa turdagi axborotlarni, masalan, ovoz va matnni ham o`z ichiga oladi. Multimedianing o`ziga xos jihati uning interfaolligi bo`lib, unda bir joy dan ikkinchi joyga o`tish imkoniyati ko`zda tutilgan bo`ladi.
1.2. Kompyuter grafikasi turlari.
Ikki о`lchamli kompyuter grafikasi quyidagi turlarga ajratiladi:
rastrli grafika;
vektorli grafika;
fraktal grafika.
Rastr so`zi informatikaga televideniyedan kirib kelgan bo`lib, lotin tilidagi rastrum - xaskash, omoch so`zidan olingan. Rastrli grafikada tasvir qatorlar va ustunlarga bo`linadi, tasvirning mayda bo`laklari – piksellardan iborat bo`ladi.
Rastrlar zichligi deganda uzunlik birligiga mos keladigan piksellar soni tushuniladi va dpi (dots per inch – bir dyuymdagi nuqtalar) da o`lchanadi. Masalan, 3200x2400 o`lchamli tasviri 300 dpi zichlikda chop etish uchun 11x8 dyuym2 о`lchamli qog`oz kerak bo`ladi. 1 dyuym=300 bo`lsa, 1dyuym2 =90.000 (3200*2400)/9000 =85,3 bu esa taxminan 11x8 dyuym2 ga teng. Tasvirlarni oddiy grafik shakllar yordamida yaratish vektor grafikasining asosini tashkil etadi. Vektor grafikasida tasvir chiziqlardan tashkil topadi.
Fraktal so`zi lotincha fractus so`zidan olingan bo`lib, maydalangan, bo`lib chiqilgan degan ma’noni bildiradi. Fraktallar deb o`ziga o`xshash qismlardan iborat bo`lgan geometrik shakllarga aytiladi. Fraktal atamasi fanga 1975-yili kiritilgan bo`lib, ular yordamida daraxtlar, o`rmonlar, bulutlar, mavjlanayotgan dengiz, alanga va tutun, oqayotgan suyuqlik kabi tasvirlarni yaratish mumkin. Fraktallardan virtual borliq, animatsiya, kompyuter o`yinlari va matematik modellashtirishda keng foydalaniladi.
Yuqorida keltirilgan rastr, vektor va fraktal grafikalari o`rtasidagi asosiy farq nurning displey ekrandan o`tish usulidan iborat. Eslab qoluvchi elektron-nurli trubkalarga ega vektorli qurilmalarda nur berilgan trayektoriya bo`ylab bir marta chopib o`tadi, uning izi esa ekranda keyingi buyruq berilgungacha saqlanib qoladi. Demak, vektorli grafikaning asosiy elementi — chiziqdir.
Vektorli grafika bilan ishlovchi dasturiy vositalar birinchi navbatda tasvirlarni yaratishga mo`ljallangan. Bunday vositalar reklama agentliklarida, dizaynerlik byurolarida va nashriyotlarda qo`llaniladi.
Rastrli qurilmalarda esa tasvir ularni tashkil etuvchi nuqtalar majmuasidan vujudga keladi. Bu nuqtalar piksellar (pixels) deb ataladi. Rastr — bu ekranning butun maydonini qoplovchi piksellar matritsasidir. Demak, rastrli grafikaning asosiy elementi nuqtadan iborat. Rastrli grafika vositalari bilan tayyorlangan tasvirlar kompyuter dasturlar yordamida kamdan-kam holdagina yaratiladi.
Ko`pincha ushbu maqsadda rassom tayyorlagan tasvirlar yoki rasmlar skanerlanadi. Rastrli tasvirlar bilan ishlashga mo`ljallangan ko`pgina grafik muxarrirlar asosan tasvirlarga ishlov berishga mo`ljallangan. Internet tizimida ko`proq rastrli tasvirlar qo`llanilmoqda.
Fraktal badiiy kompozitsiyani yaratish — bu tasvirni chizish yoki jihozlash emas, balki uni dasturlashdir, ya’ni bunda tasvirlar formulalar yordamida ko`riladi. Fraktal grafika odatda o`yin dasturlarida qo`llaniladi.
Tasvirlarni arxivlash uchun yanada ko`proq imkoniyatlar mavjud. Birinchidan matnning sifatini pasaytirib bo`lmaydi, unda ba’zi belgilarning tushib qolishiga yo`l qo`yib bo`lmaydi. Rostdan ham, agar Nodirning ismini ozgina qisqartirib, Nodi deb ketsak, Nodir bizdan astoydil xafa bo`ladi. Tasvirlarda esa ko`z ilg`amaydigan elementlarni tashlab ketsa ham bo`ladi, ya’ni tasvir sifatining bir qadar yomonlashishiga yo`l qo`ysa bo`ladi.
Ikkinchi tomondan, kompyuter alifbosida bor-yo`g`i 256 ta belgi bo`lsa, rasm elementlari – piksellarning ranglari bir necha milliard qiymatdan birini qabul qilishi mumkin. Boshqa tomondan eng katta rasmlarda ham ko`pi bilan bir necha million piksel bo`lishi mumkin. Bu esa rasm lug`atini tuzish uchun keng imkoniyatlar ochib beradi. Rasmdagi piksellar sonining kattaligi ham undan ko`plab takrorlanadigan piksellar ketma-ketliklarini topishga imkon beradi. Misol sifatida keltirilgan osmon o`par binoning rasmining asosiy qismini ko`m-ko`k osmon tashkil etadi.(2.2-rasm)
Unda esa takrorlanadigan piksellar juda ko`p. Natijada rasm hajmi yuz barobargacha va undan ko`proq kamayishi mumkin.
Rang modellari.
Ranglar bilan ishlash uchun bir qator tizimlar ishlab chiqilgan. Ulardan birinchisi qo`shiluvchi ranglar tizimi deb ataladi. Xonadagi bir nechta chiroqlarni yoqsak, ular taratayotgan yorug`liklar qo`shiladi va xona yanada yorishadi. Agar bu chiroqlar turli rangda bo`lsa, bu ranglar qo`shilib, xona ulardan ko`ra yorqinroq (ochroq) rangga kiradi. Boshqa ranglarni uchta asosiy rang: qizil (Red), yashil (Green) va ko`k (Blue) ranglarni turli nisbatda qo`shish bilan yaratish mumkin. Bu ranglarning nomlaridan qo`shiluvchi ranglar tizimi nomi RGB olingan:
Bu ranglarning har birining yorqinligi 0 dan 255 gacha bo`lishi mumkin. Natijada 256*256*256 ta (o`n olti milliondan ko`proq) ranglar hosil qilish mumkin. Masalan, yashil va ko`k ranglar qo`shilganda havo rang (ingliz tilida Cyan deb ataladi), qizil va ko`k ranglar qo`shilganda pushti (Magenta), qizil va yashil ranglar qo`shilib sariq (Yellow) ranglar paydo bo`ladi. Uchta asosiy rang qo`shilganda oq rang chiqadi. Qo`shiluvchi ranglar yordamida televizor va kompyuter monitori ekranidagi tasvirlarning ranglari hosil qilinadi. Rasm darslaridan bilamizki, oq qog`ozni bir necha rangdagi bo`yoqlar bilan bo`yasak, bu ranglar qo`shilib, to`qlashadi. Masalan, sariq va pushti ranglar bilan qog`ozni bo`yasak, qog`oz qizil rangga kiradi. Bunda ranglar oq rangdan ayriladi va bu ranglar tizimi ayriluvchi ranglar tizimi deb ataladi.
Bu tizimda asosiy ranglar sifatida havo rang, pushti va sariq ranglar olingan. Bu uchta rang oq qog`ozga surtilganda qog`oz qora rangga kiradi. Lekin toza bo`yoqlar olish juda qiyinligi sababli bu uchta rangdan hosil qilingan qora rang biron bir bo`yoq tusiga kirib qoladi. Buning oldini olish uchun ayiriluvchi ranglar tizimida yuqoridagi uchta rang bilan birga qora rang ham ishlatiladi. Natijada qora ranglar ko`p bo`lgan tasvirlarni yaratishda boshqa rangdagi bo`yoqlarning sarflanishi ham keskin kamayadi. Ranglarning bu tizimidan rangli printerlarda, plotterlarda hamda nashriyotning bosma mashinalarida foydalaniladi. Bu tizim undagi asosiy ranglar nomlaridan olingan bo`lib, CMYK (Cyan, Magenta, Yellow, Black) deb ataladi. Bu tizimda har bir asosiy rang foizda ko`rsatiladi. CMYK rang moduli subtraktiv modulga tegishli bo`lib, u nashrni chop etishga tayyorlashda qo`llaniladi. CMYK rang komponentlari sifatida, asosan oq rangdan ayirish natijasida hosil bo`lgan quyidagi ranglar xizmat qiladi:
— havorang (cyan) = oq — qizil = yashil + ko`k;
— to`q qizil {magenta) = oq — yashil = qizil+ko`k;
— sariq (yellow) = oq — ko`k = qizil+yashil.
Bu metod original tasvirni chop etishda ranglarning tabiiy qabul qilinishiga mos keladi. Havorang, to`q qizil va sariq ranglar qo`shimcha hisoblanadi, chunki ular asosiy ranglarni to`ldiradi. Amalda qo`shimcha ranglarni bir-biriga qo`shgan bilan qora rangni bermaydi. Shuning uchun rangli modulga yana bir komponent — qora rang kiritilgan. Natijada rangli modul abbreviaturasida to`rtinchi harf paydo bo`ldi:
CMYK (Cyan, Magenta, Yellow, Black). Kompyuter tasvirini poligrafik uskunada chop etish uchun ranglarni CMYK moduli komponentlariga mos keluvchi tarkiblarga ajratish kerak. Bu jarayon ranglarni ajratish deyiladi. Oqibatda har bir komponentning original to`rtta tasviri hosil qilinadi.
1.3. Tasvirlarga dastlabki ishlov berish usullari.
Tasvir nima? Tasvirni qayta ishlashga o’tishdan oldin, avvalo, tasvir nimadan iboratligini tushunishimiz kerak. Rasm piksellar soniga qarab uning o’lchamlari (balandligi va kengligi) bilan ifodalanadi. Misol uchun, agar rasmning o’lchamlari 500 x 400 (kenglik x balandlik) bo’lsa, tasvirdagi piksellarning umumiy soni 200000 ni tashkil qiladi.
Bu piksel tasvirdagi ma’lum bir soya, shaffoflik yoki rangni oladigan nuqtadir. Odatda u quyidagilardan birida ifodalanadi:
Kulrang shkala - Piksel 0 dan 255 gacha bo’lgan qiymatga ega bo’lgan butun son (0 to’liq qora va 255 butunlay oq).
RGB - piksel 0 dan 255 gacha bo’lgan 3 ta butun sondan iborat (butun sonlar qizil, yashil va ko’k ranglarning intensivligini bildiradi).
RGBA - Bu tasvirning shaffofligini ifodalovchi qo’shilgan alfa maydoniga ega RGB kengaytmasi.
Tasvirni qayta ishlash tasvirning har bir pikselida bajariladigan qat’iy amallar ketma-ketligini talab qiladi. Tasvir protsessori tasvir ustidagi amallarning birinchi ketma-ketligini piksel-piksel bilan bajaradi. Bu to’liq bajarilgandan so’ng, u ikkinchi operatsiyani bajarishga kirishadi va hokazo. Ushbu operatsiyalarning chiqish qiymati tasvirning istalgan pikselida hisoblanishi mumkin.
Tasvirga ishlov berish nima?
Rasmni qayta ishlash - bu tasvirni raqamli shaklga aylantirish va undan foydali ma’lumotlarni olish uchun ma’lum operatsiyalarni bajarish jarayoni. Tasvirni qayta ishlash tizimi, odatda, oldindan belgilangan signalni qayta ishlash usullarini qo’llashda barcha tasvirlarni 2D signallari sifatida ko’radi.
Tasvirga ishlov berish turlari
Tasvirni qayta ishlashning beshta asosiy turi mavjud:
Vizualizatsiya - tasvirda ko’rinmaydigan ob’ektlarni toping
Tanib olish - tasvirdagi ob’ektlarni farqlash yoki aniqlash
Aniqlash va tiklash - Asl tasvirdan yaxshilangan tasvirni yaratish
Naqshni aniqlash - Tasvirdagi ob’ektlar atrofidagi turli naqshlarni o’lchash
Qidiruv - original tasvirga o’xshash raqamli tasvirlarning katta ma’lumotlar bazasidan rasmlarni ko’rib chiqing va qidiring
Tasvirga ishlov berish komponentlari
Kompyuter
Tasvirga ishlov berish tizimida shaxsiy kompyuterdan superkompyutergacha bo’lgan har qanday narsa bo’lishi mumkin bo’lgan umumiy maqsadli kompyuter ishlatiladi. Ba’zan, ma’lum bir ishlash darajasiga erishish uchun maxsus qurilgan kompyuterlar maxsus dasturlarda qo’llaniladi.
Ixtisoslashtirilgan tasvirni qayta ishlash uchun uskunalar
U raqamlashtiruvchi va asosiy operatsiyalarni bajara oladigan apparatni, jumladan, butun rasmlarda bir vaqtning o’zida arifmetik va mantiqiy amallarni bajara oladigan arifmetik mantiq birligi (ALU) ni o’z ichiga oladi.
Massiv saqlash
Tasvirni qayta ishlashni o’z ichiga olgan ilovalarda mahorat muhim ahamiyatga ega. Tasvirni qayta ishlash ilovalari uchun raqamli saqlashning uchta asosiy turi quyidagilardan iborat: uchta saqlash turi mavjud (1) qisqa muddatli saqlash, (2) tez eslab qolish uchun onlayn saqlash (3) kamdan-kam kirish bilan tavsiflangan arxiv xotirasi.
Kamera Sensorlari
Bu sezgiga ishora qiladi. Rasm sensorining asosiy vazifasi kiruvchi yorug’likni yig’ish, uni elektr signaliga aylantirish, bu signalni o’lchash va keyin uni qo’llab-quvvatlovchi elektronikaga chiqarishdir. U fotonlarni elektronga aylantiradigan yorug’likka sezgir komponentlarning ikki o’lchovli qatoridan iborat. Tasvirlar CCD va CMOS kabi tasvir sensorlari yordamida raqamli kameralar kabi uskunalar tomonidan olinadi. Raqamli rasmlarni yig’ish uchun tasvir sensorlarida ko’pincha ikkita komponent kerak bo’ladi. Birinchisi, biz tasvirga aylantirmoqchi bo’lgan ob’ekt tomonidan chiqarilgan energiyani aniqlay oladigan haqiqiy vosita (sensor). Ikkinchisi, fizik sezgi qurilmasining chiqishini raqamli shaklga aylantiruvchi raqamlashtiruvchi.
Rasmni ko’rsatish
Rasmlar ko’rsatilgan.
Dasturiy ta’minot
Tasvirni qayta ishlash dasturi ma’lum funktsiyalarni bajaradigan maxsus modullarni o’z ichiga oladi.
Qog’oz nusxa ko’chirish uskunalari
Lazerli printerlar, kinokameralar, issiqlikka sezgir uskunalar, inkjet printerlar va optik va CDROM disklari kabi raqamli uskunalar rasmlarni yozib olish uchun ishlatiladigan asboblarning bir nechta misolidir.
Tarmoqqa ulanish
Vizual ma’lumotlarni tarmoqqa ulangan kompyuter orqali yuborish uchun u zarur komponent hisoblanadi. Tasvirni uzatishda eng muhim omil tarmoqli kengligi hisoblanadi, chunki tasvirni qayta ishlash ilovalari katta hajmdagi ma’lumotlarni talab qiladi.
Raqamli tasvirni qayta ishlash raqamli tasvirni raqamli kompyuter yordamida qayta ishlashni anglatadi. Bundan tashqari, bu yaxshilangan tasvirni olish yoki foydali ma’lumotlarni olish uchun kompyuter algoritmlaridan foydalanish deb aytishimiz mumkin.
Raqamli tasvirni qayta ishlash - raqamli tasvirlarni qayta ishlash va tahlil qilish uchun algoritmlar va matematik modellardan foydalanish. Raqamli tasvirni qayta ishlashning maqsadi tasvir sifatini oshirish, tasvirlardan mazmunli ma’lumotlarni olish va tasvirga asoslangan vazifalarni avtomatlashtirishdir.
Raqamli tasvirni qayta ishlashning asosiy bosqichlari:
Rasmni olish: Bu raqamli kamera yoki skaner yordamida tasvirni olish yoki mavjud tasvirni kompyuterga import qilishni o’z ichiga oladi.
Tasvirni yaxshilash: Bu kontrastni oshirish, shovqinni kamaytirish va artefaktlarni olib tashlash kabi tasvirning vizual sifatini yaxshilashni o’z ichiga oladi.
Tasvirni tiklash: Bu xiralashish, shovqin va buzilish kabi tasvirdagi buzilishlarni olib tashlashni o’z ichiga oladi.
Tasvirni segmentatsiyalash: Bu tasvirni har biri tasvirdagi ma’lum bir ob’ekt yoki xususiyatga mos keladigan hududlar yoki segmentlarga bo’lishni o’z ichiga oladi.
Tasvirni ko’rsatish va tavsiflash: Bu tasvirni kompyuter tomonidan tahlil qilinadigan va boshqarilishi mumkin bo’lgan tarzda tasvirlashni va tasvirning xususiyatlarini ixcham va mazmunli tarzda tasvirlashni o’z ichiga oladi.
Tasvirni tahlil qilish: Bu ob’ektlarni tanib olish, naqshlarni aniqlash va xususiyatlarni aniqlash kabi tasvirdan ma’lumot olish uchun algoritmlar va matematik modellardan foydalanishni o’z ichiga oladi.
Tasvir sintezi va siqish: Bu saqlash va uzatish talablarini kamaytirish uchun yangi tasvirlarni yaratish yoki mavjud tasvirlarni siqishni o’z ichiga oladi.
Raqamli tasvirni qayta ishlash tibbiy tasvirlash, masofadan zondlash, kompyuterni ko’rish va multimedia kabi turli xil ilovalarda keng qo’llaniladi.
Rasmga ishlov berish asosan quyidagi bosqichlarni o’z ichiga oladi:
1.Tasvirni suratga olish vositalari orqali import qilish;
2.Tasvirni tahlil qilish va manipulyatsiya qilish;
3.Tasvirni o’zgartirish mumkin bo’lgan natija yoki ushbu tasvirni tahlil qilishga asoslangan hisobot.
Tasvir ikki o’lchovli funksiya sifatida aniqlanadi, bu erda x va y fazoviy koordinatalardir va har qanday koordinatalar juftligidagi (x, y) F ning amplitudasi bu tasvirning intensivligi deb ataladi. nuqta. F ning x,y va amplituda qiymatlari cheklangan bo’lsa, biz uni raqamli tasvir deb ataymiz.
Boshqacha qilib aytganda, tasvirni satr va ustunlarda maxsus joylashtirilgan ikki o’lchovli massiv bilan aniqlash mumkin.
Raqamli tasvir chekli sonli elementlardan iborat bo’lib, ularning har biri ma’lum bir joyda ma’lum qiymatga ega. Bu elementlar rasm elementlari, tasvir elementlari va piksellar deb ataladi.
Rasm turlari
BINAR TASVIR – Ikkilik tasvir uning nomidan koʻrinib turibdiki, faqat ikkita pikselli elementni oʻz ichiga oladi, yaʼni 0 va 1, bunda 0 qora rangga, 1 esa oq rangga ishora qiladi. Ushbu rasm Monoxrom sifatida ham tanilgan.
QORA VA OQ TASVIR – faqat qora va oq rangdan tashkil topgan tasvirga QORA VA OQ TASVIR deyiladi.
8 bit RANG FORMATI - Bu eng mashhur tasvir formati. Unda 256 xil rang soyalari mavjud va odatda Kulrang tasvir sifatida tanilgan. Bu formatda 0 qora, 255 esa oq, 127 esa kul rangni bildiradi.
16 bitli RANG FORMATI - bu rangli tasvir formati. Unda 65 536 xil rang mavjud. U High Color Format deb ham ataladi. Ushbu formatda ranglarning taqsimlanishi Kulrang miqyosdagi tasvir bilan bir xil emas.
16 bitli format aslida uchta boshqa formatga bo’lingan: Qizil, Yashil va Moviy. Bu mashhur RGB formati.
Matritsa sifatida tasvir
Ma’lumki, tasvirlar satr va ustunlarda tasvirlangan, bizda tasvirlar tasvirlangan quyidagi sintaksis mavjud:
Tasvirlarni qayta ishlash ko`plab sohasi xususiyatlarini o`zida birlashtirish tabiatiga ega bo`lgan fan yo`nalishidir. Avvalo tasvirlarni qayta ishlash turli fan tushunchalarini birlashtirdi. Tasvirli obyektni belgilari bilan raqamli signallarning qanday bog`liqligini bilish zarur. Bu erda rang-barang fizik jarayonlarni o`z ichiga olgan bo`lib, tasvirni yorug`ligini geometrik tarqalishidan tortib, toki radiometrik shakllantirishlarigacha borib taqaladi. Tasvirni hosil qiluvchi datchiklar yorug`lik energiyasini u yoki bu elektrik signallar orqali ifodalaydi. Bu signallar esa diskret sonlar orqali va axborot qiymatlarini kompyuterlarda raqamli shaklda qayta ishlandi.
Tasvirlarga raqamli ishlov berish fizika, kompyuter bilimlari, informatika, matematika, optika, algoritmlash nazariyasi va h.k., kabi ko`plab soha amallarini ketma – ket amalga oshirish jarayonlaridan iborat(4.1-rasm). Bu jarayonni muxandislik nuqtaiy – nazaridan qaraydigan bo`lsak, nazariy, optiko – elektrotexnik va dasturiy ta’minotni loyihalashdan tashkil topgan. Yuqorida aytib o`tilganidek tasvirlarga raqamli ishlov berish natijalari boshqa fan yo`nalishlarida keng foydalaniladi yoki turli fan yo`nalishlari bilan kesishadi. Masalan: metrologiya fanini qismi o`lchash masalasi, tovushli axborotni qayta ishlash masalasida, shaxsni tanib olish masalasi va boshqalar. Albatta bular sun`iy intellekt va Data Mining usullari orqali turli fan yo`nalishlarini avtomatlashtirish masalalarini hal etiladi.
Tasvirlarga raqamli ishlov berish natijalarining tadbiqiy ko`lami keng bo`lib, unga quyidagilarni misol qilib ko`rsatishimiz mumkin:
Fan va Fazo. Dastlabki yillarda tasvirlarni qayta ishlash usullaridan faqatgina ilmiy maqsadlardagina foydalanilgan edi. Bu olimlar asosan fazoviy tadqiqotlar va harbiy sohalarda ishlovchi olimlar bo`lishgan edi. Fazoviy tadqiqotlar bizga juda qo`p tasvirlarni tadqiq qilish usullarini taqdim etdi. Bu usullar bizning quyosh tizimini tadqiq qilish bo`yicha tadqiqotlarimizning muvaffaqiyatli bo`lishiga juda katta hissa qo`shdi. Yillar davomida NASA agentligida juda ko`p tasvirlarni qayta ishlashga to`g`ri kelgan. Reynjer fazo kemasi oy sirtining minglab tasvirlarini yerga uzatdi. Syorveyer 7 fazo kemasi esa o`zining oyga qo`nish nuqtasidan turib 21038 ta televizion tasvirlarni yerga uzatgan. 1964-yili uchirilgan Mariner fazo kemasi esa Marsning 22 ta raqamli tasvirlarini uzatdi. Viking loyihasi esa 1975-yili boshlandi va bu loyiha bo`yicha Mars sayyorasining 100 mingdan ziyod tasvirlari olindi. Voyajer loyihasi bo`yicha 1977-yili ikki fazoviy kema uchirildi va ular Saturn, Uran, Neptun va Yupiter sayyoralarining juda ko`p tasvirlarini uzatdilar. Mana shu fazoviy loyihalar ma’lumotlar oqimlari sifatida fazoviy tasvirlarni erga uzatdilar.
Ma’lumotlarni uzatish ko`pincha doimiy va quyosh uchqunlari orqali uzilib qolar va natijada tasvirlar buzilar edi. Tasvirlarni qayta tiklash va filtrlash usullari shoaqinlarni yo`qotar va tasvirlarning buzilgan qismlarini tiklar edi. Ushbu usullardan ayrimlaridan avvallari hech qachon foydalanilmagan va hozirda ulardan elektron mikroskopiya, seysmografiya va tibbiy tashhis kabi juda ko`p sohalarda foydalaniladi.
Kino sanoati. Garchi Golivudda kompyuterlardan umumiy effektlarni hosil qilish uchun doimo foydalanib kelinayotgan bo`lsada, kino sanoatida kompyuterlardan foydalanish so`nggi bir necha yillar davomida nihoyatda ortib ketdi. Xattoki so`nggi vaqtlarda to`laligicha kompyuterda ishlangan kino asarlarihamda multfilmlar ham yaratildi. Kompyuterlar bir tasvirni ikkinchisiga qorishtiradi, tavirlar freymidan keraksiz bo`lgan obyektlarni olib tashlaydi va freymlarning qismlaridan yangi freymlarni hosil qiladi. Gladiator filmidagi jang sahnalari, Kolizey maydonining tiklanishi va unda o`tirgan tomoshabinlar barchasi kompyuter orqali hosil qilingan. Bu filmning muvaffaqiyatida undagi kompyuter effektlarining roli nihoyatda kattadir. Kino sanoatida kichik sondagi odamlar guruhidan katta sondagi olomonni kompyuter yordamida hosil qilish anchagina keng qo`llaniladigan usuldir. Bunday usul tasvirlar kompozitsiyasi nomi bilan mushhurdir. Ya’ni bunda tasvirlarga aslida ularda bo`lmagan obyektlar kiritiladi.
Kompyuter effektlari tufayli katta muvaffaqiyat qozongan filmlardan yana biri bu Matritsa, Uzuklar qiroli seriyasiga kiruvchi filmlardir. Bu filmlarda ko`p qo`llanilgan usullardan biri bu morfing (Morphing) usulidir. Bunda bir tasvir boshqa tasvirga aylantiriladi. Morfing so`zi metamorfoza so`zidan hosil qilingan. Masalan, Terminator 2 filmida T-1000 razil poliqotishma bir lahzada bir necha shakllarga kira oladi. Morfing texnologiyasidan reklama roliklarida ham keng foydalaniladi.
Masalan, yurib ketayotgan mashinani yo`lbars ko`rinishiga aylantirish, snikers reklamasidagi robotlarni odam ko`rinishiga o`tkazish kabilar. Kino asarlarida yana qahramonlar qiyofalarini o`zgartirish, ularni yoshartirish, yuzlariga ajinlar tushirish kabilardan ham keng foydalaniladi. Bunday usul tasvirlarni qiyshaytirish (Image warping) deb ataladi. Bu usuldan dastlab fazoviy tasvirlardagi buzilgan joylarni qayta tiklash maqsadida foydalanilgan edi. Hozirda u yo`qolganlarni qidirishda ham keng qo`llanilmoqda. Bunda yo`qolgan odamlarning bir necha yillar avval olingan tasvirlari asosida hozirdagi qiyofalari tiklanadi.
Raqamli tasvirni qayta ishlashning afzalliklari:
Yaxshilangan tasvir sifati: Raqamli tasvirni qayta ishlash algoritmlari tasvirlarning vizual sifatini yaxshilaydi, ularni aniqroq, aniqroq va ma’lumotli qiladi.
Tasvirga asoslangan avtomatlashtirilgan vazifalar: Raqamli tasvirni qayta ishlash ob’ektni aniqlash, naqshni aniqlash va o’lchash kabi ko’plab tasvirga asoslangan vazifalarni avtomatlashtirishi mumkin.
Samaradorlikni oshirish: Raqamli tasvirni qayta ishlash algoritmlari tasvirlarni odamlarga qaraganda tezroq qayta ishlashga qodir, bu esa qisqa vaqt ichida katta hajmdagi ma’lumotlarni tahlil qilish imkonini beradi.
Aniqlikning oshishi: Raqamli tasvirni qayta ishlash algoritmlari odamlarga qaraganda aniqroq natijalarni berishi mumkin, ayniqsa aniq o’lchovlar yoki miqdoriy tahlilni talab qiladigan vazifalar uchun.
Raqamli tasvirni qayta ishlashning kamchiliklari:
Yuqori hisoblash xarajati: Ba’zi raqamli tasvirni qayta ishlash algoritmlari hisoblash intensiv va katta hisoblash resurslarini talab qiladi.
Cheklangan izohlash: Ba’zi raqamli tasvirni qayta ishlash algoritmlari odamlar uchun, ayniqsa murakkab yoki murakkab algoritmlar uchun talqin qilish qiyin bo’lgan natijalarni berishi mumkin.
Kirish sifatiga bog’liqlik: Raqamli tasvirni qayta ishlash algoritmlarining chiqishi sifati kirish tasvirlarining sifatiga juda bog’liq. Sifatsiz kiritilgan tasvirlar sifatsiz chiqishiga olib kelishi mumkin.
Algoritmlarning cheklovlari: Raqamli tasvirni qayta ishlash algoritmlari tartibsiz yoki yomon yoritilgan sahnalarda ob’ektlarni tanib olish qiyinligi yoki sezilarli deformatsiyalari yoki tiqilishi bo’lgan ob’ektlarni tanib bo’lmasligi kabi cheklovlarga ega.
Yaxshi ta’lim ma’lumotlariga bog’liqlik: Ko’pgina raqamli tasvirni qayta ishlash algoritmlarining ishlashi algoritmlarni ishlab chiqish uchun ishlatiladigan o’quv ma’lumotlarining sifatiga bog’liq. Sifatsiz ta’lim ma’lumotlari algoritmning yomon ishlashiga olib kelishi mumkin.
II BOB. PYTHON DASTURLASH TILIDA TASVIRLARGA
DASTLABKI ISHLOV BERISH ASOSLARI 2.1. Pyton dasturlash tili va uning imkoniyatlari
Python dasturlash tili boshqa dasturlash tillaridan farqli ravishda, mukammal darajada ishlab chiqilgan. Python dasturlash tili, boshqa dasturiy vositalarni boshqarish va ularning tarkibiy qismlarini mustaqil boshqarishni amalga oshiradi. Aslida, Python ko’p maqsadli dasturlash tili sifatida o’rganilishi mumkin, bu dasturlash tili yordamida bir qancha jarayonlarni dasturlash imkoni yaratiladi. Python dasturlash tilida, bir vaqtning o’zida, boshqa dasturlash tillaridan farqli ravishda, bir nechta turdagi dasturlar yaratish inkoniyati mavjud, ya’ni:
- amaliy dasturiy maxsulotlar;
- web ilovali dasturiy maxsulotlar;
- ilmiy dasturiy maxsulotlar yaratish imkonini beradi.
Python dasturlash tili sodda va o’qilishi oddiy bo’lgan dasturlash tili bo’lib u inglizcha so’zlarni qo’llab quvvatlaydi kalit so’zlar o’rnida shuning uchun bu boshqacha ko’rinishga ega.
Python Interpretori: Bu tarjimon tomonidan ish vaqtida qayta ishlanganligini va uni bajarishdan oldin dasturni kompilyatsiya qilishning hojati yo’qligini bildiradi. Bu PERL va PHP ga o’xshaydi.
Python Interaktiv: Bu siz aslida Python buyrug’ida o’tirib, dasturlarni yozish uchun to’g’ridan-to’g’ri tarjimon bilan aloqa o’rnatishingiz mumkin degan ma’noni anglatadi.
Python Ob’ektga Yo’naltirilgan: Python Ob’ektga yo’naltirish uslubini yoki dasturiy texnikasini qo’llab-quvvatlaydi.
Python Boshlovchilar tili: Python – boshlang’ich dasturchilar uchun ajoyib til bo’lib, oddiy matnni ishlashdan WWW brauzerlariga o’yinlarga keng ko’lamdagi ilovalarni ishlab chiqishni qo’llab-quvvatlaydi.
Pythonni tarixi
Python Guido van Rossum tomonidan sakson va sakkizinchi yillarda Niderlandiyadagi Matematika va informatika ilmiy tadqiqot institutida ishlab chiqildi.
Python ABC, Modula-3, C, C ++, Algol-68, SmallTalk va Unix shell kabi boshqa ko’plab tillardan va boshqa skript tillaridan olingan.
Python mualliflik huquqi bilan himoyalangan. Perl kabi, Python manba kodi endi GNU General Public License (GPL) ostida mavjud.
Python hozirda institutning asosiy rivojlanish jamoasi tomonidan faoliyat yuritmoqda, garchi Guido van Rossum hali ham o’z taraqqiyotini boshqarishda muhim rol o’ynaydi.
Python xususiyatlari:
Pythonning xususiyati quyidagilarni o’z ichiga oladi:
O’qish oson: Python nisbatan kam kalit so’zlar, oddiy tuzilish va aniq belgilangan sintaksisga ega. Bu o’rganuvchini qisqa vaqt ichida yodlab olish imkonini beradi.
O’qish oson: Python kodi juda aniq va ko’zga ko’rinadigan bo’ladi.
Oson ishlash: Pythonning muvaffaqiyati – manba kodi juda oson.
Keng standart kutubxona: Pythonning eng qudratli jihatlaridan biri kutubxonaning asosiy qismi juda portativ va UNIX, Windows va Macintosh-da o’zaro faoliyat platformalar bilan mos keladi.
Interaktiv usul: Pythonda ishlashda terminalda ishlash uchun juda qulay terminalda test qilib ko’rsa bo’ladi.
Portativ: Python keng apparat platformalarida ishlaydi va barcha platformalarda bir xil interfeysga ega.
Kengaytirilgan: Python tarjimoniga past darajadagi modullarni qo’shishingiz mumkin. Ushbu modullar dasturchilarni o’zlarining vositalarini samaraliroq bo’lishiga qo’shish yoki sozlash imkonini beradi.
Ma’lumotlar bazasi: Python barcha ma’lumotlar bazasini qo’llab quvvatlaydi.
GUI dasturlash: Python Windows MFC, Unix, X Window kabi platformalarga GUI dasturlar tuzishni qo’llab quvvatlaydi.
Moslashuvchan: Python, qobiq buyruq fayliga qaraganda katta dasturlarga yanada yaxshi tuzilish va qo’llab-quvvatlash imkonini beradi.
Yuqorida aytib o’tilgan xususiyatlardan tashqari, Pythonda yaxshi xususiyatlarining katta ro’yxati bor, ularning ko’pi quyida keltirilgan:
Funktsional va tuzilgan dasturiy usullarni va OOP ni qo’llab-quvvatlash.
Ushbu buyruq fayli sifatida ishlatilishi mumkin yoki katta ilovalar yaratish uchun byte-kodga to’planishi mumkin.
Juda yuqori darajadagi dinamik ma’lumotlar turlari va dinamik turdagi tekshiruvlarni qo’llab-quvvatlaydi.
Avtomatik chiqindilarni to’plashni qo’llab-quvvatlaydi.
C, C ++, MAQOMOTI, ActiveX, CORBA va Java bilan osonlik bilan bog’lanishi mumkin.
Python tarkibida xotiradan foydalanish va ishlash talablari bo’yicha cheklovlar mavjud emas, ya’ni imkoniyatlar shu qadar kattaki, boshqa dasturlash tillari kabi ma’lumotlarni e’lon qilish tabaqasi mavjud emas. Bunday imkoniyatlar, albatta, dastur yaratuvchilar ish faoliyati samaradorligini keskin ortishiga xizmat qiladi.
Python dasturlash tilining tarixi o’tgan asrning 80-yillari oxirlarida boshlangan. Gido Van Rossum Python dasturlash tilini 1980-yillarda yaratgan va u til 1989 yil dekabrda Gollandiyadagi matematika va informatika laboratoriya markazida ishlab chiqilgan. Python istisno holatlarini ko’rib chiqishga va Amoeba operatsion tizimiga ta’sir 20
ko’rsatishga qodir bo’lgan ABC dasturlash tilining avlodi bo’lgan. Van Rossum Pythonning asosiy muallifidir va u 2018 yilgacha tilni rivojlantirish bo’yicha bir qancha ishlar olib borgan.
Van Rossum tomonidan Python 1.2 versiyasi 1995 yili matematika va informatika laboratoriya markazida ishlayotgan paytda ishlab chiqarilgan. Python dasturlash tili mukammal darajada ishlab chiqilgan dasturlash tili bo’lib u insoniyat oldidagi muammolarni hal qilish uchun juda mos til hisoblanadi. Python dasturlash tili, dasturlash tillarining eng keng imkoniyat doirasiga ega hisoblanadi, bu dasturlash tili boshqa dasturiy vositalarni boshqarish va ularning tarkibiy qismlarini mustaqil boshqarishni amalga oshirdi. Aslida, Python ko’p maqsadli dasturlash tili sifatida o’rganilishi mumkin, bu dasturlash tili yordamida bir qancha jarayonlarni dasturlash imkoni yaratiladi. Python amaliy dasturiy maxsulotlar, web ilovalar va ilmiy dasturiy maxsulotlar yaratish imkonini beradi. Python tarkibida xotiradan foydalanish va ishlash talablari bo’yicha cheklovlar mavjud emas, ya’ni imkoniyatlar shu qadar kattaki, boshqa dasturlash tillari kabi ma’lumotlarni e’lon qilish tabaqasi mavjud emas. Bu esa dastur yozish vaqti kamaytiradi va boshqarish qulayligini oshiradi.
Python dasturlash tilini bu qadar keng tarqalishining sababi juda katta miqdordagi yuqori sifatli tayyor bepul tarqatiladigan modullar mavjud va ularni siz dasturning istalgan joyidan foydalanishingiz mumkin. Tayyor modullardan foydalangan holda dasturni tuzish bir qancha optimal hisoblanadi. Dasturlash tili tarkibida fundamental algoritmlar, funksiyalar va modullar tayyor holatga keltirilgan, bunda faqatgina bu algoritm yoki funksiyalarga murojaat qilinsa yetarli siz faqat tegishli qismlarni tanlashingiz va ularni bir joyga to’plashingiz kerak. Modullar har bir misolning boshida mavjud bo’lgan import buyrug’i yordamida biriktiriladi. Ko’p ishlatiladigan modullar ikkita asosiy qismga bo’lingan:
- Python interpretatori bilan ta’minlangan standart kutubxonaning modullari (ushbu modullar doimo dastur bilan birga aktivlashadi);
- Tashqi vazifa bajaruvchi modullar, bu modullar alohida dastur tarkibiga o’rnatish orqali amalga oshiriladi.
Python dasturlash tilining web dasturlash sohasiga ham to’g’ridan to’g’ri qo’llanilishi mumkin. Python an’anaviy ravishda oddiy va murakkab strukturali saytlarni yaratish uchun foydalaniladi. Bu jarayoning 21
eng keng tarqalgan vositasi Django web platformasi hisoblanadi. Bu platforma orqali bir qancha keng ommaga tarqalgan mashhur tizimlar ishlab chiqilgan, jumladan, Instagram, Mozilla va hakoza. Django juda ko’p turli xil funktsiyalarni, shu jumladan avtomatik ravishda hosil qilinadigan ma’lumotlar bazasini yaratish imkoniyatlarini taqdim etadi. Python dasturlash tili ko’plab mashhur o’yinlarni ishlab chiqish uchun ishlatiladi, 2000 - yillarning birinchi yarmida Python dasturlash tili
sivilizatsiyasida, to’rtinchi o’yinning ichki mantiqiy tuzilishini yozish uchun asosiy vosita sifatida ishlatildi.
Python dasturlash tilining matematik va ilmiy hisoblash jarayonlariga keng qo’llanilish imkoniyati yaratilgan. Python umumiy maqsadlar uchun mo’ljallangan til bo’lib, u matematik paketlar bilan muvaffaqiyatli moslashuvni amalga oshiradi. Python dasturlash tilining asosiy xususiyati uning kengayish imkoniyatidir. Bu esa Python uchun nafaqat C va Fortrandagi algoritmlarning ko’p sonli kutubxonalari yozildi va moslashtirildi. Python dasturlash tilining boshqa dasturiy vositalar va paketlardan foydalanish imkoniyati mavjud. Pythonni matematik paketga aylantirishning asosiy modullari ishlab chiqilgan.
Python dasturlash tilining eng muhim afzalliklaridan biri shundaki, uning barcha amaliy kutubxonalari va qo’shimcha maxsus modullarining rivojlanish muhiti bepul tarqatiladi. Bu esa Python dasturlash tilini rivojlantirish vositasi bo’lishi mumkinligini anglatadi.
Python dasturlash tili dasturlashning quyidagi sohalarrida qo’llaniladi:
- Tizimli dasturlash;
- Grafik interfeysli dasturlarni ishlab chiqish;
- Dinamik veb-saytlarni yaratish;
- Komponentlarning integratsiyasi;
- Ma’lumotlar bazalari bilan ishlash uchun dasturlarni ishlab chiqish;
- Ilmiy hisoblash uchun dasturlarni ishlab chiqish;
- O’yinlarni rivojlantirish.
Haqiqiy sonlar faqat nuqta bilan yoziladi, vergul esa sonlarni bir biridan ajratish ucun xizmat qiladi. Python dasturlash tili IDLE rejimining qulayligi dasturlashni o’rganayotganda yoki masala kodining ma’lum bir qismini sinab ko’rish vaqtida juda qulaydir. Agar boshqa kompilyatsiya qilinadigan dasturlash tilda ishlasangiz, avval kodni asl dasturlash tilida yozishingiz, keyin kompilyatsiya qilishingiz kerak bo’lgan faylni ishga tushirishingiz kerak bo’ladi.
Python dasturlash tilida sonlarni uch xil turlari aniqlangan:
- Butun son
- Haqiqiy
- Kompleks
Python dasturlash tilida butun va haqiqiy sonlardan foydalanish tajribalarini yuqoridagi misollarda keltirib o’tdik, complex sonlardan python dasturlash tilida quyidagicha foydalanamiz.
Barcha dasturlash tillari kabi Python dasturlash tilida ham matematik ifodalar ma’lum bir standartlar asosida yoziladi. Ifodalar tarkibidagi matematik funksiyalar Python tilida standart fuksiyalar yordamida yoziladi, agar ifoda tarkibidagi funksiya standart funksiya tarkibida bo’lmasa, alohida funksiya yaratib olish kerak.
Ifoda-sonlar, harflarni arifmetik amallar va qavslar bilan birlashtirilgan yozuvga aytiladi.
Python dasturlash tilidagi ifodalar tarkibidagi amallarni bajarilishi matematikadagi amallarni bajarilish tartibiga mos keladi. Python tilida arifmetik amallarni yozilishi yuqoridagi mavzuga asosan yoziladi. Ifodalar tarkibidagi nomalumlar faqatgina lotin alifbosida yozilishi kerak. Ifoda tarkibida kasr sonning surati yoki maxrajida ikki va undan ortiq hadlar bo’lsa, python tilida ular albatta qavsga olinishi kerak.
Bazi bir masalalarni yechish algoritmlari tarkibida takrororlanishlar qandaydir shartlarga asosan bajariladi. Har bir takrorlanish jarayoni bajarilish qadamida shart tekshirilib o’tib borilaveradi, qachonki shart yolg’on bo’lgandagina takrorlanish jarayoni to’xtatiladi. Masalan yig’indisi S ga teng bo’lgan natural sonlar sonini topish yoki umumiy hadi n dan kichik bo’lgan cheksiz kamayuvchi geometrik progressiyani hadlar sonini topish kabi masalalarda shartli takrorlanuvchi operatorlardan foydalaniladi. Agar algoritm tarkibidagi bir necha marta takrorlanishi kerak bo’lgan buyruqlarni takrorlanuvchi jarayonlar asosida dasturlash tillarida tasvirlanmasa, bu buyruqlarni barchasini bajarish murakkablashadi.
Shartli takrorlanuvchi algoritmlarni shartli takrorlanuvchi jarayonlar ham deb ataymiz.
Tarif: Agar takrorlanishlar soni ma’lum bir shartlar asosida aniqlansa, bunday jarayonlar shartli takrorlanuvchi jarayonlar deyiladi.
Shartsiz o’tish operatori va tarmoqlanuvchi operatorlar yordamida ham shartli takrorlanuvchi jarayonlarni dasturlash imkoniyati mavjud. Lekin bunday holatlarda bitta amalni bajarish uchun bir nechta operatorlarni ishlatish kerak bo’ladi. Shartli takrorlanuvchi operatorlar bajarilish holatlariga qarab turlarga ajratiladi. Shart asosida takrorlanuvchi jarayonlarni python dasturlash tilida shartli sikl operator yordamida amalga oshiriladi.
While operatori. Shart oldi takrorlanuvchi jarayonlar bajarilish holati har bir takrorlanish oldidan shart tekshirilib keyin takrorlanish tanasidagi operatorlar bajariladi. Agar takrorlanish holati boshidan shart yolg’on qiymat qabul qilsa, takrorlanish bir marta ham bajarilmaydi.
Shart oldi takrorlanuvchi operatorlarning python dasturlash tilida ifodalash uchun while operatori yordamida tasvirlanadi.
Takrorlash strukturasi bir ifoda yoki operatorlarni ma’lum bir shart to’g’ri (true) bo’lishi davomida qaytarish imkonini beradi. Qaytarilayotgan ifoda shartga ta’sir ko’rsatishi kerak. Ma’lum bir vaqt o’tgandan keyin shart false ga o’zgartilishi kerak. Bo’lmasa while (davomida) ish jarayoni
tugatilmaydi va cheksiz bajarilib qoladi, bu esa mumkin emas. While faqat o’zidan keyin kelgan ifodaga ta’sir qiladi. Agar biz bir guruh amallarni qaytarmoqchi bo’lsak, : dan keyin enter bilan operatorlarni yozishimiz kerak. Shart takrorlanishning boshida tekshirilganligi sababli, agar shart noto’g’ri bo’lib chiqsa, takrorlanish bajarilmasligi ham mumkin.
Ta’rif: Agar shartli takrorlanuvchi jarayonlar tarkibidagi shart takrorlanishdan oldin tekshirilsa, shart oldi takrorlanuvchi jarayonlar deyiladi.
Takrorlanuvchi operator tarkibiga beriladigan shart tahlil qilinib yozilish kerak, chunki shart hech qachon yolg’on qiymat qabul qilmasa, dastur cheksiz ishlashga to’g’ri keladi. Takrorlanish hech qachon cheksiz bo’lishi mumkin emas, aks holda algoritmning diskretlik hossasi buziladi.
Shart oldi takrorlanish operatori yani while operatorining umumiy ko’rinishi quyidagicha.
2.2. Pythonda dasturlash tilida grafika bilan ishlash asoslari
Ma’lumotlar bo’yicha olimlar mashinani o’rganish va sun’iy intellekt modellariga o’rnatishdan oldin tasvirlarning dastlabki jarayoni ustida ishlamoqda. Ular bir nechta mashinani o’rganish, shuningdek, chuqur o’rganish vazifalari uchun tasvirni qayta ishlash vositalaridan foydalanishlari kerak. Ayni paytda, Python juda mashhur va trendli dasturlash tili bo’lib, Python kutubxonalarining keng doirasiga ega. Shunday qilib, mashinani o’rganish bo’yicha barcha vazifalarni bajarishda tasvirni qayta ishlash uchun Python kutubxonalaridan foydalanish juda muhimdir. Keling, 2022 yilda samarali va samarali foydalanish uchun Python tasvirlarni qayta ishlash bo’yicha eng yaxshi o’nta kutubxonani ko’rib chiqaylik.
|
| |