Войти Регистрация

Docx

  • Рефераты
  • Дипломные работы
  • Прочее
    • Презентации
    • Рефераты
    • Курсовые работы
    • Дипломные работы
    • Диссертациии
    • Образовательные программы
    • Инфографика
    • Книги
    • Тесты

Информация о документе

Цена 30000UZS
Размер 262.1KB
Покупки 0
Дата загрузки 14 Июнь 2025
Расширение docx
Раздел Курсовые работы
Предмет Информатика и ИТ

Продавец

Lola Mamurova

Дата регистрации 25 Сентябрь 2024

12 Продаж

PYTHONda rasmlarni masshtablash va siqish dasturini yaratish (pillow)

Купить
MUNDARIJA:
KIRISH…………………………………………………………………………….3
I BOB. PYTHON DASTURLASH TILI VA UNING  IMKONIYATLARI 
1.1.Python dasturlash tili vujudga kelish tari х i, uning imkoniyatlari……………..6
1.2.Python dasturlash tili afzalliklari……………………………………………….9
II BOB. PYTHONDA RASMLAR BILAN ISHLASH
2.1.Rasmlar bilan ishlash modullari…………………………………………...….13
2.2.   Pillow   kutubxonasi   bilan   rasmlarni   masshtablash   va   siqish   dasturini   yaratish
…………………………………………………………………………………….17
XULOSA……………………………………………………………………….. ..31
FOYDALANILGAN ADABIYOTLAR…………………………………...…. . . 33
KIRISH
1 Axborot   texnologiyalari   sohasidagi   kadrlarni   tayyorlash   tizimini
takomillashtirish   “Raqamli   O‘zbekiston   —   2030”   strategiyasini   muvaffaqiyatli
amalga   oshirish,   raqamli   texnologiyalarni   rivojlantirish   va   aholining   kundalik
hayotiga   keng   joriy   etishni   ta’minlashning   muhim   shartlaridan   biri   hisoblanadi.
Axborot   texnologiyalari   sohasidagi   kasbga   tayyorlash   va   qayta   tayyorlash
tizimining   samaradorligini   oshirish   bo‘yicha   ko‘rilayotgan   choralar   davlat
organlari   va   tarmoq   tashkilotlarini   malakali   IT-mutaxassislar   bilan   ta’minlash
uchun mustahkam zamin yaratmoqda. 
Hozirgi   jadal   rivojlanish   va   turli   jarayonlarni   avtomatlashtirish   hamda
robotlashtirish   davrida   dasturlashni   bilish   va   uni   o’z   ish   jarayonida   ishlata   olish
texnik   va   pedagogik   yo’nalishda   ta’lim   olayotgan   o’quvchi-talabalar   uchun   juda
muhim deb hisoblanadi. Bu zamonaviy mutahassilar uchun eng zaruriy talablardan
biridir, desak ham bo’ladi, chunki hozirgi kunda informatika turli-tuman sohalarda
muvaffaqiyatli ravishda qo’llanilishi mumkinligini hech kim ham rad eta olmaydi.
Huddi   shuning   uchun   ham,   qo’llanmaning   asosiy   maqsadi   –   o’quvchitalabalarga
Python   dasturlash   tili   misolida   hisoblash   texnikasi   vositalarini   ishlatish   bo’yicha
bilimlarni va amaliy ko’nikmalarni imkon darajasida singdirishdair. 
Amaliy maqsadlarda dasturlash tilining imkoniyatlarini ko’rsatish matematika
va   ilmiy   sohalarga   oid   bir   qancha   misol   va   masalalarni   Python   dasturiy   tilidan
foydalanib yechich misolida aniq va ravshan qilib ko’rsatib o’tiladi. Shunday qilib,
q’ollanma   o’quvchi   talabalar   uchun   dasturlash   tili   vositasida   turli   xildagi   amaliy
masalalarni   hal   qilish   ko’nikmalarini   rivojlantirisga   imkon   yaratadi.   Qo’llanmani
o’qish   va   undagi   materiallarni   o’rganish   uchun   dasturlash   tajribasi   bo’lishi   talab
etilmaydi   va   undan   endigina   dasturchi   bo’lishni   orzu   qilganlar   ham   bemalol
foydalanishlari   mumkin.   Shuni   ham   ta’kidlash   kerakki,   ushbu   qo’llanmada
zamonaviy Python dasturlash tili imkoniyatlari boshlang’ich o’rganuvchilar, ya’ni
5   maktab   o’quvchilari,   talabalar   va   mustaqil   o’rganuvchilar   tushunishi   uchun
nihoyatda   yengil,   tushunarli,   kerakli   izohlar   bilan   va   sodda   halq   tilda   izhor
qilingan.   Python   dasturlash   tili   samarador   yuqori   darajadagi   ma’lumotlar
tuzilmasini   hamda   oddiy,   ammo   samarador   bo’lgan   ob’yektga   yo’naltirilgan
2 dasturlash uslublarini taqdim etadi. Undan tashqari, bu til o’rganish uchun oson va
shu   bilan   birga   imkoniyatlari   yuqori   bo’lgan   oz   sonli   dasturlash   tillari   jumlasiga
kiradi   va   shu   bilan   birgalikda   unda   dasturlash   jarayoni   juda   ham   oddiy   amalga
oshiriladi. Python dasturlash tilining rasmiy sayti – www.python.org bo’lib, uning
muallifi   Niderlandiyadagi   Matematika   va   informatika   ilmiy   tadqiqot   institutida
ishlagan Gvido van Rossum deb hisoblanadi. 
Pythonning   o’ziga   xosligi   esa   uning   oddiyligi,   o’rganishga   osonligi,   sodda
sintaksisga   egaligi   va   dasturlash   jarayonini   boshlash   uchun   qulay,  erkin   va  ochiq
kodlik   dasturiy   ta’minotga   egaligidir.   Undan   tashqari,   o’z   dasturingizni   yozish
davomida   quyi   darajadagi   detallarni,   misol   uchun   hotirani   boshqarishni   hisobga
olishingizga hech qanday hojat qolmaydi. Bu dasturlash tili ko’plab platformalarda
hech   qanday   o’zgartirishlarsiz   ishlay   oladi   va   u   interpretatsiya   qilinadigan   tillar
jumlasiga mansub. 
Bulardan   tashqari,   Python   dasturlash   tili   imkoniyatlari   kengayishga   moyil
bo’lgan   dasturiy   til   hisoblanadi.   Agar   siz   dasturingizning   biror-bir   joyini   tezroq
ishlashini  xoxlasangiz,  o’sha  qismni   C  yoki  C++  dasturlash  tillarida yozib,  keyin
shu   qismni   Python   kodingiz   orqali   ishga   tushirsangiz   (chaqirsangiz)   bo’ladi.
Bundan tashqari, Python juda ham  ko’p, foydali hamda hilma-hil  kutubxonalarga
(dasturlar bibliotekasiga) egaligi ham juda muhimdir.
Mavzuning   dolzarbligi.   Hozirgi   jadal   rivojlanish   va   turli   jarayonlarni
avtomatlashtirish   hamda   robotlashtirish   davrida   dasturlashni   bilish   va   uni   o’z   ish
jarayonida   ishlata   olish   texnik   va   pedagogik   yo’nalishda   ta’lim   olayotgan
o’quvchi-talabalar   uchun   juda   muhim   deb   hisoblanadi.   Bu   zamonaviy
mutahassislar   uchun   eng   zaruriy   talablardan   biridir.   Sababi   hozirgi   kunda
informatika   turli-tuman   sohalarda   muvaffaqiyatli   ravishda   qo’llanilishi
mumkinligini   hech   kim   ham   rad   eta   olmaydi.   Python   juda   oddiy   dasturlash   tili
bo lib, u ixcham  shu bilan bir  vaqtda sodda va   tushinarli    sintaksisga    ega.   Shuʻ
sababli  Python  o rganish  uchun  juda  oson  til sifatida  butun  dunyoda  eng  tez	
ʻ
tarqalayotgan  tillardan  biri  sifatida  e'tirof  etiladi. Bundan  tashqari  ushbu  tilda
hozirgi  kunga  kelib,  turli  sohalarga  (veb,  o yin, mul'timediya,  ilmiy  tadqiqot)	
ʻ
3 mo ljallangan     katta     hajmdagi     kutbxonalar     majmui   yaratilgan   bo lib,   uningʻ ʻ
tobora mashhurlashib borishiga sabab bo lmoqda.	
ʻ
Tadqiqot ob'yеkti va prеdmеti:  
1.   Masshtablash   -   tasvir   o’lchamining   o’zgarishi   va   bu   jarayon   davomida
sifatning qanday ta'sirlanishi.
    2. Siqish - rasmlar hajmini kamaytirish usullari va natijalari, turli formatlar
(masalan, JPEG, PNG) orasidagi farqlar.
3. Sifat ta'siri - masshtablash va siqish jarayonlarida original tasvirning vizual
sifatini qanday saqlash mumkinligi.
4. Amaliy  qo’llanmalar   -  Pillow  yordamida  yuqori  sifatli   tasvirlarni   yaratish
va ularni veb yoki mobil ilovalarda foydalanish imkoniyatlari.
Kurs   ishining   maqsadi:     Pillow   kutubxonasi   yordamida   rasmlar
masshtablash   va   siqish   jarayonlarini   o’rganib   chiqish,   natijada   yuqori   sifatli   va
optimallashtirilgan tasvirlar yaratishni  o’rganish kurs ishining maqsadiga kiradi.
Kurs ishining  vazifalari:
1. Pillow kutubxonasini o’rganish va uning funksiyalarini aniq belgilash.
2. Turli xil masshtablash usullarini tahlil qilish va amaliy misollar bilan
ko’rsatish.
3.   Siqish   jarayonining   rasmlar   sifatiga   ta'sirini   o’rganish   va   turli
formatlardagi siqish usullarini solishtirish.
4.   Masshtablash   va   siqish   jarayonlari   orqali   tasvirlar   hajmini   qanday
kamaytirish mumkinligini tahlil qilish.
5.   Olingan   natijalarni   baholash   va   amaliy   foydalanish   mumkin   bo’lgan
sohalarni aniqlash. 
6.   O’zgarishlarni   analiz   qilish   va   ilg'or   tasvir   sifatini   saqlash
strategiyalarini ishlab chiqish.
Kurs   ishning   tuzilishi:   mazkur   kurs   ishi   kirish,   2   bob,   4   fasl,   xulosa   va
foydalanilgan adabiyotlar majmuasidan iborat.
4 I BOB. PYTHON DASTURLASH TILI VA UNING  IMKONIYATLARI
1.1.Python dasturlash tili vujudga kelish tari х i, uning imkoniyatlari
Python   dasturlash   tilini   vujudga   kelishi   1980-yil   o х iri   1990-yil   boshlaridan
boshlangan. O’sha paytlarda un с ha taniqli bo’lmagan Gollandiyaning  С WI instituti
х odimi   Gvido   van   Rossum   AB С   tilini   yaratilish   proyektida   ishtirok   etgan   edi.
AB С   tili Basi с   tili o’rniga talabalarga asosiy dasturlash konsepsiyalarini o’rgatish
u с hun   mo’ljallangan   til   edi.   Bir   kun   Gvido   bu   ishlardan   с har с hadi   va   2   hafta
davomida o’zining Ma с intoshida boshqa oddiy tilning interpretatorini yozdi, bunda
u albatta AB С  tilining ba’zi bir g‘oyalarini o’zlashtirdi. Shuningdek, Python 1980-
1990-yillarda   keng   foydalanilgan   Algol-68,   С ,   С ++,   Modul3   AB С ,   Small   Talk
tillarining   ko’plab   х ususiyatlarini   o’ziga   olgandi.   Gvido   van   Rossum   bu   tilni
internet orqali tarqata boshladi. Bu paytda o’zining “Dasturlash tillarining qiyosiy
taqrizi” web sahifasi bilan internetda to 1996-yilga с ha Stiv Mayevskiy ismli kishi
taniqli   edi.   U   ham   Ma с intoshni   yoqtirardi   va   bu   narsa   uni   Gvido   bilan
yaqinlashtirdi.   O’sha   paytlarda   Gvido   BB С   ning   “Monti   Paytonning   havo   sirki”
komediyasining   mu х lisi   edi   va   o’zi   yaratgan   tilni   Monti   Payton   nomiga   Python
deb   atadi   (ilon   nomiga   emas).   3   Til   tezda   ommalashdi.   Bu   dasturlash   tiliga
qiziqqan va tushunadigan  foydalanuv с hilar  soni  ko’paydi. Boshida  bu juda  oddiy
til   edi.   Shun с haki   ki с hik   interpretator   bir   ne с hta   funksiyalarga   ega   edi.   1991-yil
birin с hi OYD (Obyektga Yo’naltirilgan Dasturlash) vositalari paydo bo’ldi. 1
Bir   qan с ha   vaqt   o’tib   Gvido   Gollandiyadan   Amerikaga   ko’ с hib   o’tdi.   Uni
С NRI   korporatsiyasiga   ishlashga   taklif   etishdi.   U   o’sha   yerda   ishladi   va
korporatsiya   shug‘ullanayotgan   proyektlarni   Python   tilida   yozdi   va   bo’sh   ish
vaqtlarida   tilni   interpretatorini   rivojlantirib   bordi.   Bu   1990-yil   Python   1.5.2
versiyasi   paydo   bo’lgun с ha   davom   etdi.   Gvidoning   asosiy   vaqti   korporatsiyani
proyektlarini   yaratishga   ketardi   bu   esa   unga   yoqmasdi.   С hunki   uning   Python
dasturlash   tilini   rivojlantirishga   vaqti   qolmayotgandi.   Shunda   u   o’ziga   tilni
rivojlantirishga   imkoniyat   yaratib   bera   oladigan   homiy   izladi   va   uni   o’sha
paytlarda   endi   tashkil   etilgan   BeOpen   firmasi   qo’llab   quvvatladi.   U   С NRI   dan
1
  Sh.A. Mengliyev, O.A. Abdug‘aniev, S.Q. Shonazarov, D. Sh.To’rayev “Python dasturlash tili”, Termiz-2021 
5 ketdi, lekin shartnomaga binoan u Python 1.6 versiyasini   с hiqarib berishga majbur
edi.   BeOpen   da   esa   u   Python   2.0   versiyani   с hiqardi.   2.0   versiyasi   bu   oldinga
qo’yilgan   katta   qadamlardan   edi.   Bu   versiyada   eng   asosiysi   til   va   interpretatorni
rivojlanish   jarayoni   o с hiq   ravishda   bo’ldi.4   Shunday   qilib   1.0   versiyasi   1994-yil
с hiqarilgan   bo’lsa,   2.0   versiyasi   2000-yil,   3.0   versiyasi   esa   2008-yil   ishlab
с hiqarildi. Hozirgi vaqtda u с hin с hi versiyasi keng qo’llaniladi.
Python – bu o’rganishga oson va shu bilan birga imkoniyatlari yuqori bo’lgan
oz   sonlik   zamonaviy   dasturlash   tillari   qatoriga   kiradi.   Python   yuqori   darajadagi
ma'lumotlar   strukturasi   va   oddiy   lekin   samarador   obyektga   yo’naltirilgan
dasturlash uslublarini taqdim etadi. Pythonning o’ziga  х osligi quyidagilar: 
• Oddiy, o’rganishga oson, sodda sintaksisga ega, dasturlashni boshlash u с hun
qulay, erkin va o с hiq kodli dasturiy ta'minot. 
•   Dasturni   yozish   davomida   quyi   darajadagi   detallarni,   misol   u с hun   х otirani
boshqarishni hisobga olish shart emas. 
•   Ko’plab   platformalarda   he с h   qanday   o’zgartirishlarsiz   ishlay   oladi.
•Interpretatsiya ( Инт e рпр e тир yem ый ) qilinadigan til.
•   Kengayishga   ( Р a сширя em ый )   moyil   til.   Agar   dasturni   biror   joyini   tezroq
ishlashini   х ohlasak   shu   qismni   С   yoki   С ++   dasturlash   tillarida   yozib   keyin   shu
qismni python kodi orqali ishga tushirsa ( с haqirsa) bo’ladi. 
•Juda ham ko’p  х ilma- х il kutub х onalarga ega. 
•  х ml/html fayllar bilan ishlash 
• http so’rovlari bilan ishlash 
• GUI(grafik interfeys) 
•Web ssenariy tuzish 
• FTP bilan ishlash 
•Rasmli audio video fayllar bilan ishlash 
•Robot te х nikada 
• Matematik va ilmiy hisoblashlarni programmalash 
6 Pythonni   katta   proyektlarda   ishlatish   mumkin.   С hunki,   uni   с hegarasi   yo’q,
imkoniyati   yuqori.   Shuningdek,   u   sodda   va   universalligi   bilan   programmalash
tillari orasida eng ya х shisidir.
Python -yuqori   bosqichli   dasturlash   tili   hisoblanib,   tirli   xil   ilovalarni
yaratish   uchun mo’ljallangan.   Ya'ni   Python   dasturlash   tili   yordamida   veb-
ilovalar,     o’yin     ilovalari,     oddiy   (nastol'niy)       dasturlar       yaratish       hamda
berilganlar   bazasi   bilan   ishlash   mumkin.   Ayniqsa Python dasturlash tilining
tezlik   bilan   tarqalishiga   uning   mashinali   o’rgatish   va   sun'iy   intellekt   sohalaridagi
tadqiqot ishlarida keng qo’llanilishi sabab bo’lgan.Python dasturlash tiliga 1991 yil
Golland   dasturchisi   Guido   van   Rossum   asos   solgan.   Shundan   beri   ushbu   til
rivojlanishning   ulkan   yo’lini   bosib   o’tdi   va   2000yilda   2.0   versiyasi,   2008   yil   esa
3.0   versiyalari       chiqarildi.       Versiyalar       orasidagi   muddatning   uzoqligiga
qaramasdan   doim   aversiya   ostilari   chiqariladi.     Shunday   qilib,     ushbu     material
eng  oxirgi  3.7  versiyasi  asosida tuzilgan. 
Python dasturlash tilining asosiy xususiyatlari quyidagilardan iborat: 
Skriptli   til.   Dastur   kodi   skriptlar   ko’rinishida   bo’ladi;   Turli   dasturlash
paradigmlarni, xususan ob'ektga yo’naltirilgan va funksional  paradigmlarni o’zida
mujassamlagan;
Skriptlar   bilan   ishlash   uchun   interpretator   kerak   bo’lib,   uskriptni   ishga
tushiradi   va   bajaradi.Portativlik   va   platformaga   bog’liqmaslik.   Kopmpyuterda
qanday   operasion   tizim   Windows,   MacOS,   Linux   bo’lishidan   qat'iy   nazar,   ushbu
operasion tizimda interpretator  mavjud bo’lsa, foydalanuvchi  tomonidan yozilgan
skript kod bajariladi. Xotiraning avtomatik boshqarilishi; 
Turlarga dinamik ajratilishi;
Pythonda   dasturning   bajarilishi   quyidagicha   bo’ladi:   Dastlab   mant
muharririda ushbu dasturlash  tili  asosida  ifodalar  ketma-ketligidan  iborat  skript
kod   yoziladi.   Ushbu   yozilgan skript      kod   barajirilish   uchun     interpretatorga
uzatiladi.     Interpretator     skript       kodni     oraliq   baytkodga   tarjima   qiladi.   Keyin
virtual   mashina     baytkodni   operatsion   tizimda   bajariladigan   instruksiyalar
(mashina buyruqlari) to’plamiga o’tkazadi.     
7 Shu   ta'kidlash   lozimki,   rasman   interpretator   tomonidan   dastlabki   kodning
baytkodga   tarjima   qilinishi   va   virtual   mashinaning   ushbu   baytkodni   mashina
buyruqlari to’plamiga o’tkazilishi ikkita turli jarayon bo’lsada, ammo amalda ular
bitta   interpretatorning   o’zida   birlashtirilgan.Python   juda   oddiy   dasturlash   tili
bo’lib,   u   ixcham   shu   bilan   bir   vaqtda   sodda   va     tushinarli   sintaksisga   ega.   Shu
sababli   Python   o’rganish   uchun   juda   oson   til   sifatida   butun   dunyoda   eng   tez
tarqalayotgan  tillardan  biri  sifatida  e'tirof  etiladi.  Bundan  tashqari  ushbu  tilda
hozirgi   kunga   kelib,   turli   sohalarga   (veb,   o’yin,   mul'timediya,   ilmiy   tadqiqot)
mo’ljallangan   katta   hajmdagi   kutbxonalar   majmui   yaratilgan   bo’lib,  uning  tobora
mashhurlashib borishiga sabab bo’lmoqda. 2
1.2.Python dasturlash tili afzalliklari
Python dasturlash tili sodda va o’qilishi oddiy bo’lgan dasturlash tili bo’lib u
inglizcha so’zlarni qo’llaydi va u PERL va PHP ga tillariga o’xshab ketadi. Python
interaktiv   dasturlash   tili   bo’lib,   ob’ektga   yo’naltirilgan   tillar   jumlasiga   kiradi,
ya’ni,   Python   ob’ektga   yo’naltirish   uslubini   yoki   dasturiy   texnikasini
qo’llabquvvatlaydi.   Python   boshlovchi   dasturchilar   tilidir,   ya’ni   u   boshlang‘ich
dasturchilaruchun   ajoyib   til   bo’lib,   oddiy   matnni   ishlashdan   tortib,
2
  Boltayev B., Azamatov A., Asqarov A., Sodiqov M., Azamatova  G. Informatika va hisoblash texnikasi  asoslari.
Toshkent: "Cho’lpon" nomidagi NMIU, 2015. - 160 b.
8 vebbrauzerlaridagi   o’yinlarga   qadar   keng   ko’lamdagi   ilovalarni   ishlab   chiqishni
qo’llab quvvatlaydi. Python ning buyruqlari va sintaksisi ABC, Modula-3, C, C++,
Algol-68, SmallTalk va Unix shell kabi boshqa ko’plab tillardan va skript tillaridan
olingan. Python mualliflik huquqi bilan himoyalangan. 
Xuddi   Perl   kabi,   Python   dagi   manbaa   kodi   GNU   General   Public   License
(GPL) ostida mavjud. Pythonning o’ziga xos xususiyatlari quyidagilarni o’z ichiga
qamrab oladi: 
   O’rganish   oson:   Python   nisbatan   kam   sonli   kalit   so’zlar,   oddiy   tuzilish   va
aniq belgilangan sintaksisga ega; 
  Tushunish va o’qish oson: Python kodi juda aniq va yodda qoladigan tarzda
yoziladi; 
  Unda ishlash juda ham qulay: Python ning muvaffaqiyati – manba kodining
tuzilishi juda sodda va tushunarli; 
   Python   kattagina   standart   kutubxonaga   ega:   Python   ning   eng   qudratli
jihatlaridan biri kutubxonaning asosiy qismi juda portative va UNIX, Windows va
Macintoshda o’zaro faoliyat platformalar bilan mos keladi; 
   Interaktiv  usulda   ishlash   imkoniayti   mavjud:   Python   da  terminalda  ishlash
uchun juda qulay, natijalarni terminalda test qilib ko’rsa ham bo’ladi; 
   Bu   til   moslashuvchan   hisoblanadi:   Python   keng   apparat   platformalarida
ishlaydi va barcha platformalarda bir xil interfeysga ega; 
   Kengaytirilish   imkoniyatalariga   ega:   Python   tarjimoniga   past   darajadagi
modullarni qo’shishingiz mumkin; 
   Ma’lumotlar   bazalari   bilan   ishlash   qulayligi:   Python   barcha   a’lumotlar
bazasini qo’llab quvvatlaydi; 
  GUI dasturlashni amalga oshirish imkoniyati: Python Windows MFC, Unix,
X Window kabi platformalarga GUI dasturlar tuzishni qo’llab quvvatlaydi; 
   Moslashuvchanligi:   Python   qobiq   buyruq   fayliga   qaraganda,   katta
dasturlarga   yanada   yaxshi   moslashish   va   ularni   qo’llab-quvvatlash   imkonini
beradi; 
9    Funktsional   va   tuzilgan   dasturiy   usullarni   va   Ob’ektga   yo’naltirilgan
dasturlashni qo’llabquvvatlaydi;
   Buyruq fayli sifatida ishlatilishi mumkin yoki katta ilovalar yaratish uchun
bytekodga to’planishi mumkin; 
   Juda   yuqori   darajadagi   dinamik   ma’lumotlar   turlari   va   dinamik   turdagi
tekshiruvlarni qo’llab-quvvatlaydi; 
   Chiqindilarni   avtomatik   ravishda   to’plashni   va   ularni   tozalashni
qo’llabquvvatlaydi (musorosborshik funktsiyasi); 
   C, C++, Java va PHP kabi dasturlash tillari bilan osonlik bilan bog‘lanishi
mumkin. 
Python   dasturlash   tili   boshqa   tillarga   nisbatan   o’rganish   ancha   oson   va   shu
bilan   birga   imkoniyatlari   boy   bo’lgan   til   hisoblanadi.   Ya’ni,   til   o’rganishni
boshlovchilar  uni   osonlik  bilan o’rganishlari  mumkin, shu  bilan  bu til   yordamida
ancha-muncha jiddiy amaliy loyihalarni ham amalga oshirish mumkin.  3
Python haqida quyidagi uchta xulosaga kelish mumkin: 
1. Python dasturlash tilining keng miqyosda qo’llanilishi mumkin bo’lgan uch
asosiy   soha   bor:   veb-dasturlash   (backend   –   vebserver   uchun   ilovalar   yozish),
sun’iy   intellekt   masalalari,   kompyuterda   foydalanuvchi   juda   ko’p   marta
bajaradigan mayda ishlar (elektron xatlarni jo’natish, fayllarni izlash va bosmalash,
elektron jadvaldan biror-bir ma’lumotlarni ajratib olish va xakozolar). 
2. Python o’rganish ancha oson bo’lgan dasturiy tildir. Agar tabiiy tillar bilan
o’xshatish   qiladigan   bo’lsak,   biror-bir   tilda   fikrni   yetkazish   uchun   ma’lum   vaqt
so’zlarni,  tilning  grammatikasi  o’rganish  kerak  bo’ladi.  Qandaydir   minimal  bilim
shakllangandan so’ng, asta-sekin inson o’z fikrini  ifoda eta boshlaydi. Dasturlash
tillaribilan   ham   holat   xuddi   shunday.   Biror   dasturlash   tilida   amaliy   foyda
keltiradigan   dastur   yozishni   boshlash   uchun   ma’lum   bilimlar   majmuini   egallash
kerak,   shundan   so’nggina   dasturlashni   boshlash   mumkin.   Boshqa   dasturlash
tillaridan   farqli   ravishda,   Python   da   amaliy   ahamiyatga   ega   dasturlarni   ishlab
3
  Kris Roffi. Kompyuter dasturlari. Python uchun dasturlash kitobi. - USA: Cambridge university press. 2017, - p.
204.
10 chiqishga ancha ertaroq, hali tilning kattaqismini o’rganmasdan turib ham kirishish
mumkin. 
3.   Python   interpretatsiya   qilinadigan   dasturiy   til.   Dasturlash   tillarini
interpretatsiya   qilinadigan   va   kompilyatsiya   qilinadigan   dasturlash   tillariga
bo’lishadi.   Aniqroq   aytganda,   agar   dasturlash   tilidagi   dasturni   bajarish
interpretatsiya orqali amalga oshirilsa, bunday tillar  interpretatsiya qilanadigan til
deyiladi. Agar dasturlash tilidagi dasturni bajarish uchun uni avval mashina tiliga
o’tkazish   talab   qilinsa,   bunday   tillar   kompilyatsiya   qilinadigan   tillar   deyiladi.
Aslini   olganda,   kompyuter   uchun   yozilgan   har   qanday   dastur   interpretatsiya
qilinadi.   Chunki   mashina   kodlaridagi   dastur   kompyuterning   miyasi   bo’lgan
protsessor tomonidan interpretatsiya qilinadi.
II BOB. PYTHONDA RASMLAR BILAN ISHLASH
2.1.Rasmlar bilan ishlash modullari.
Ko pgina   ilovalar   raqamli   tasvirlardan   foydalanadi   va   bu   bilan   odatdaʻ
ishlatiladigan   tasvirlarni   qayta   ishlashga   е htiyoj   bor.   Agar   siz   ilovangizni   Python
11 bilan   qurayotgan   bo lsangiz   va   unga   tasvirni   qayta   ishlash   funksiyalariniʻ
qo shishingiz   k	
ʻ е rak   bo lsa,   siz   foydalanishingiz   mumkin   bo lgan   turli	ʻ ʻ
kutubxonalar mavjud. 
Bu   y е rda   qaysi   kutubxona   е ng   yaxshi   е kanligi   haqida   bahslashmaymiz;
ularning   barchasining   o ziga   xos   fazilatlari   bor.   Ushbu   ma ruza   tasvirni   qayta	
ʻ ʼ
ishlashning   k е ng   doirasini   ta minlovchi   va   ulardan   foydalanish   oson   bo lgan	
ʼ ʻ
kuchli kutubxona Pillowga qaratiladi. 
PIL   —   bu   tasvirlarni   manipulyatsiya   qilish   uchun   bir   n е chta   standart
prots е duralarni taklif qiluvchi kutubxona. Bu kuchli kutubxona, l е kin 2009-yildan
b е ri   yangilanmagan   va   Python   3-ni   qo llab-quvvatlamaydi.   Pillow   bunga	
ʻ
asoslanib,   Python   3-ga   qo shimcha   funksiyalar   va   qo llab-quvvatlaydi.   U   PNG,	
ʻ ʻ
JP Е G, PPM kabi bir qator tasvir fayl formatlarini qo llab-quvvatlaydi. GIF, TIFF	
ʻ
va   BMP.   Ushbu   kutubxonadan   foydalanib,   tasvirlar   ustida   k е sish,   o lchamini	
ʻ
o zgartirish,   tasvirga   matn   qo shish,   aylantirish,   kulrang   rangni   o zgartirish   va	
ʻ ʻ ʻ
hokazo kabi turli amallarni qanday bajarishni ko rib chiqamiz. 	
ʻ
O rnatish va loyihani sozlash 	
ʻ
Pillow   kutubxonasi   Pythonda   rasmlar   bilan   ishlash   uchun   eng   mashhur   va
kuchli   vositalardan   biridir.   Uni   o’rnatish   juda   oddiy.   Agar   sizda   Python   va   pip
o’rnatilgan bo’lsa, quyidagi buyruqni ishga tushiring:
pip install pillow
O’rnatish   jarayoni   tugagandan   so’ng,   Python   skriptingizda   Pillow
kutubxonasini import qilishingiz mumkin:
from PIL import Image
Agar   sizda   o’rnatish   bilan   bog'liq   muammolar   yuzaga   kelsa,   Python
versiyangizni   va   pip   versiyangizni   tekshiring.   Pillow   kutubxonasi   Python   3.7   va
undan   yuqori   versiyalarida   yaxshi   ishlaydi. 4
  Shuningdek,   virtual   muhitdan
foydalanish tavsiya etiladi, chunki u loyihangiz uchun zarur bo’lgan bog'liqliklarni
boshqarishga yordam beradi.
4
  Dan Bader. Python tricks the book. Anja Pircher Design, 2017, - p. 299.
12 Sozlash   jarayoni   ham   oddiy.   Pillow   kutubxonasi   o’rnatilgandan   so’ng,   siz
hech   qanday   qo’shimcha   sozlashlarsiz   rasmlar   bilan   ishlashni   boshlashingiz
mumkin.   Kutubxona   turli   xil   formatdagi   rasmlarni   qo’llab-quvvatlaydi,   jumladan
JPEG,   PNG,   GIF,   TIFF   va   boshqalar.   Agar   sizda   maxsus   formatlar   bilan   ishlash
zarurati bo’lsa, qo’shimcha plaginlar o’rnatishingiz mumkin.
python -m venv myenv
myenv\Scripts\activate
pip install pillow
 Virtual muhit yaratish (agar zarur bo’lsa):
 Virtual muhitni faollashtirish:
 Pillow kutubxonasini o’rnatish:
Pillowni   o ʻ rnatishdan   oldin   siz   quyidagilarni   bilishingiz   k е rak :   Pillow   va   PIL
bir   muhitda   birga   bo ʻ lolmaydi ,  shuning   uchun   sizda   PIL   o ʻ rnatilgan   bo ʻ lsa ,  davom
е tishdan   oldin   uni   o ʻ chirib   tashlang .   Biz   ushbu   ma ʼ ruzada   Pillowning   joriy
barqaror   v е rsiyasidan   foydalanamiz  ( yozish   vaqtida  8.0.1  v е rsiyasi ).  Ushbu   v е rsiya
Python  3.6  va   undan   yuqori   v е rsiyalarini   talab   qiladi . 
Pillowni   pip   ko ʻ rsatilganid е k   o ʻ rnatishingiz   mumkin  : 
python3 -m pip install --upgrad е  pip 
python3 -m pip install --upgrad е  Pillow 
Barcha   misollar   k е rakli   tasvirlar   ishga   tushirilayotgan   python   skript   fayli
bilan bir xil katalogda bo lishini nazarda tutadi. ʻ
Tasvir ob	
ʼ е kti
Python   Imaging   kutubxonasidagi   muhim   sinf   bu   Imag е   sinfdir.   U   Imag е
modulda   aniqlangan   va   manipulyatsiya   op е ratsiyalarini   amalga   oshirish   mumkin
bo lgan   PIL   tasvirini   taqdim  	
ʻ е tadi.   Ushbu   klassning   namunasi   bir   n е cha   usulda
yaratilishi   mumkin:   fayldan   rasmlarni   yuklash,   noldan   tasvirlarni   yaratish   yoki
boshqa   tasvirlarni   qayta   ishlash   natijasida.   Biz   bularning   barchasini
ishlatilayotganini   ko ramiz.   (pip   install   Imag	
ʻ е   yoki   pip   install   Pillow)   Fayldan
rasmni yuklash uchun biz moduldagi funksiyadan foydalanamiz, unga tasvirga yo l	
ʻ
o tkazamiz .	
ʻ
13 from PIL import Imag е
 imag е  = Imag е .op е n( 22.jpg ) ʼ ʻ
imag е .show()
Muvaffaqiyatli   bo lsa,   yuqoridagi   Imag	
ʻ е o   by е ktni   qaytaradi.   Agar   faylni
ochishda   muammo   yuzaga   k е lsa,   OS Е rroristisno   paydo   bo ladi.   Imag	
ʻ е   Oby е ktni
olganingizdan   so ng   ,   siz   uni   qayta   ishlash   va   boshqarish   uchun   sinf   tomonidan	
ʻ
b е lgilangan   usullar   va   atributlardan   foydalanishingiz   mumkin.   Rasmni
ko rsatishdan boshlaylik. 	
ʻ
Buni   undagi   usulni   chaqirish   orqali   qilishingiz   mumkin.   Bu   tasvirni   tashqi
ko rish   vositasida   ko rsatadi   (odatda   macOS   da   oldindan   ko rish,   Unix   da   xv   va
ʻ ʻ ʻ
Windows da Paint dasturi).show ()
  Oby е ktning   atributlari   yordamida   tasvir   haqida   ba zi   tafsilotlarni   olishingiz	
ʼ
mumkin.
from PIL import Imag е
imag е  = Imag е .op е n( 22.jpg )	
ʼ ʻ
# rasm formati.
print(imag е .format) # Output: JP Е G
# Rasm tomonidan ishlatiladigan piks е l formati. Odatdagi qiymatlar "1", "L",
"RGB" yoki "CMYK"dir."
print(imag е .mod е ) # Output: RGB
#   Rasm   hajmi,   piks е llarda.   Hajmi   (k е nglik,
balandlik) sifatida b е rilgan.
print(imag е .siz е ) # Output: (883, 540)
# Ranglar palitrasi jadvali, agar mavjud bo lsa.	
ʻ
print(imag е .pal е tt е ) # Output: Non е
Rasm turini o zgartirish. Tasvirni qayta ishlashni tugatganingizdan so ng, uni	
ʻ ʻ
faylga yorliqlash uchun ishlatiladigan nomni kiritish usuli bilan faylga saqlashingiz
mumkin   .   Rasmni   saqlashda   siz   uning   asl   nusxasidan   boshqa   k е ngaytmani
b е lgilashingiz mumkin va saqlangan rasm b е lgilangan formatga o zgartiriladi.	
ʻ
imag е  = Imag е .op е n( 22.jpg )	
ʼ ʻ
14  imag е .sav е ( 22-yangi.png )ʼ ʻ
Yuqoridagi   rasm   bilan   yuklangan   Tasvir   ob	
ʼ е ktini   yaratadi   va   uni   yangi
faylga saqlaydi, Pillow fayl k е ngaytmasi PNG sifatida b е lgilanganligini ko radi va	
ʻ
faylga   saqlashdan   oldin   uni   PNGga   o zgartiradi.   Fayl   formatini   aniq   b	
ʻ е lgilash
uchun   ikkinchi   argum е ntni   taqdim   е tishingiz   mumkin   .   Bu   avvalgid е k   xuddi
shunday qiladi . Odatda, bu ikkinchi dalilni k е ltirishning hojati yo q, chunki Pillow	
ʻ
fayl   nomi   k е ngaytmasidan   foydalanish   uchun   faylni   saqlash   formatini   aniqlaydi,
l е kin   agar   siz   nostandart   k е ngaytmalardan   foydalanayotgan   bo lsangiz,   formatni
ʻ
har doim shu tarzda b е lgilashingiz k е rak.  5
Rasmlar   hajmini   o zgartirish.Tasvirning   o lchamini   o zgartirish   uchun   siz	
ʻ ʻ ʻ
o lchami   o zgartirilgan   tasvirning   k	
ʻ ʻ е ngligi   va   balandligini   ifodalovchi   ikki   butun
sonli   kort е j   argum е ntiga   o tib,   undagi   usulni   chaqirasiz   .   Funktsiya   ishlatilgan	
ʻ
tasvirni o zgartirmaydi; buning o rniga yangi o lchamli boshqa Rasmni qaytaradi.	
ʻ ʻ ʻ
imag е  = Imag е .op е n( 22.jpg ) 	
ʼ ʻ
n е w_imag е  = imag е .r е siz е ((400, 400))
 n е w_imag е .sav е ( 22-yangi.jpg )	
ʼ ʻ
print(imag е .siz е ) # Output: (1920, 1280)
 print(n е w_imag е .siz е ) # Output: (400, 400)
2.2. Pillow kutubxonasi bilan rasmlarni masshtablash va siqish dasturini
yaratish
Rasmni qayta ishlash bizning raqamli dunyomizda muhim ahamiyatga ega. U
rasmlarni optimallashtirish, ularni tahrirlash va yangi yaratuvchanlik imkoniyatlari
yaratadi.
Pillow kutubxonasi  
5
  Kris Roffi. Kompyuter dasturlari. Python uchun dasturlash kitobi. - USA: Cambridge university press. 2017, - p.
204
15 Pillow - Python uchun rasm ishlash kutubxonasi. U Python Imaging Library
(PIL)   ning   takomillashtirilgan   versiyasidir.   O’rnatish   uchun   pip   install   Pillow
buyrug'ini bajarish kifoya.  
Rasm masshtablash  
Masshtablash   -   rasm   o’lchamini   o’zgartirish.   resize()   funksiyasi   yordamida
rasmni kerakli o’lchamga keltirish mumkin.  
Misol:  
Rasmlarni   masshtablash   va   siqish   jarayonlari   ko’plab   amaliyotlarda
muhimdir.   Masshtablash,   rasmning   o’lchamini   o’zgartirish   bo’lib,   bu
foydalanuvchilarga   rasmni   kerakli   joyga   moslashtirish   imkonini   beradi.   Mishqot
va sifatni saqlab qolgan holda rasm o’lchamini tez o’zgartirishda resize funksiyasi
qo’llaniladi.
Siqish esa rasm fayl hajmini kamaytirish uchun ishlatiladi. Bu jarayon, rasm
sifatini   biroz   yo’qotib,   saqlash   va   uzatish   jarayonlarini   osonlashtiradi.   Pillow
kutubxonasida   save   metodida   quality   parametri   orqali   rasm   sifatini   belgilash
mumkin, bu esa fayl hajmini boshqarishda muhim ahamiyatga ega.
Umuman olganda, Pillow kutubxonasida masshtablash va siqish vositalaridan
foydalanish,   rasm   fayllarini   samarali   boshqarish   imkonini   beradi   va   dasturchilar
uchun muhim vosita hisoblanadi.
Pillow   kutubxonasi   Pythonda   rasmlar   bilan   ishlash   uchun   eng   mashhur   va
kuchli   vositalardan   biridir.   Uni   o’rnatish   juda   oddiy.   Agar   sizda   Python   va   pip
o’rnatilgan bo’lsa, quyidagi buyruqni ishga tushiring:
pip install pillow
O’rnatish   jarayoni   tugagandan   so’ng,   Python   skriptingizda   Pillow
kutubxonasini import qilishingiz mumkin:
from PIL import Image
Agar   sizda   o’rnatish   bilan   bog'liq   muammolar   yuzaga   kelsa,   Python
versiyangizni   va   pip   versiyangizni   tekshiring.   Pillow   kutubxonasi   Python   3.7   va
undan   yuqori   versiyalarida   yaxshi   ishlaydi.   Shuningdek,   virtual   muhitdan
16 foydalanish tavsiya etiladi, chunki u loyihangiz uchun zarur bo’lgan bog'liqliklarni
boshqarishga yordam beradi.
Sozlash   jarayoni   ham   oddiy.   Pillow   kutubxonasi   o’rnatilgandan   so’ng,   siz
hech   qanday   qo’shimcha   sozlashlarsiz   rasmlar   bilan   ishlashni   boshlashingiz
mumkin.   Kutubxona   turli   xil   formatdagi   rasmlarni   qo’llab-quvvatlaydi,   jumladan
JPEG,   PNG,   GIF,   TIFF   va   boshqalar.   Agar   sizda   maxsus   formatlar   bilan   ishlash
zarurati bo’lsa, qo’shimcha plaginlar o’rnatishingiz mumkin.
python -m venv myenv
myenv\Scripts\activate
pip install pillow
 Virtual muhit yaratish (agar zarur bo’lsa);
 Virtual muhitni faollashtirish ;
 Pillow kutubxonasini o’rnatish . 6
Rasmlarni Yuklash va Ko’rsatish
Pillow   kutubxonasi   yordamida   rasmlarni   yuklash   juda   oson.   Image.open()
funksiyasi yordamida rasmni yuklashingiz va  Image.show()  funksiyasi yordamida
uni ko’rsatishingiz mumkin. Quyida misol keltirilgan:
from PIL import Image
# Rasmni yuklash
rasm = Image.open("rasm.jpg")
# Rasmni ko’rsatish
rasm.show()
Agar siz rasmni o’zgaruvchiga yuklamoqchi bo’lsangiz va uni keyinroq qayta
ishlamoqchi bo’lsangiz, quyidagi koddan foydalanishingiz mumkin:
from PIL import Image
6
  Eric Matthes. Python crash course:  a hands-on, project-based introduction to programming. - San-Francisco:  No
Starch Press, 2015. - p. 562.
17 # Rasmni yuklash
rasm = Image.open("rasm.jpg")
# Rasmning o’lchamlarini olish
width, height = rasm.size
# Rasm formatini olish
format = rasm.format
# Rasmning rang rejimini olish
mode = rasm.mode
print(f"Rasm o’lchamlari: {width}x{height}")
print(f"Rasm formati: {format}")
print(f"Rasm rang rejimi: {mode}")
Ushbu kod rasmni yuklaydi va uning o’lchamlarini, formatini va rang rejimini
chop   etadi.   Bu   ma'lumotlar   rasmni   qayta   ishlashdan   oldin   juda   foydali   bo’lishi
mumkin.
Agar   siz   Jupyter   Notebook   yoki   shunga   o’xshash   muhitda   ishlayotgan
bo’lsangiz,   rasmni   to’g'ridan-to’g'ri   notebook   ichida   ko’rsatish   uchun   quyidagi
koddan foydalanishingiz mumkin:
from PIL import Image
import matplotlib.pyplot as plt
# Rasmni yuklash
rasm = Image.open("rasm.jpg")
# Rasmni ko’rsatish
plt.imshow(rasm)
plt.axis('off') # O’qlarni o’chirish
18 plt.show()
Rasmlarni Masshtablash Algoritmlari
Pillow   kutubxonasi   rasmlarni   masshtablash   uchun   turli   xil   algoritmlarni
qo’llab-quvvatlaydi. 7
  Ulardan eng mashhurlari quyidagilar:
 NEAREST:   Eng   yaqin   qo’shni   algoritmi.   Bu   eng   tezkor,   ammo   sifati   eng
past bo’lgan algoritm.
 BILINEAR:   Bilinear   interpolatsiya   algoritmi.   Sifat   NEAREST dan
yaxshiroq, ammo sekinroq.
 BICUBIC:   Bicubic   interpolatsiya   algoritmi.   Sifat   BILINEAR dan
yaxshiroq, ammo undan ham sekinroq.
 LANCZOS:  Lanczos filtri. Eng yuqori sifatli algoritm, ammo eng sekin.
Masshtablash   uchun   resize()   funksiyasidan   foydalaniladi.   Quyida   misol
keltirilgan:
from PIL import Image
# Rasmni yuklash
rasm = Image.open("rasm.jpg")
# Yangi o’lchamlar
new_width = 500
new_height = 300
# Masshtablash
resized_rasm   =   rasm.resize((new_width,   new_height),
Image.LANCZOS)
# Masshtablangan rasmni saqlash
resized_rasm.save("resized_rasm.jpg")
7
  Gabor Szabo, “1000 Python Examples”, 2020, 140-165 pages 
19 Bu   kod   rasmni   yuklaydi,   uni   500x300   o’lchamga   LANCZOS   algoritmi
yordamida   masshtablaydi   va   masshtablangan   rasmni   saqlaydi.   Algoritmni
o’zgartirish   uchun   Image.LANCZOS   o’rniga   boshqa   algoritm   nomini
qo’yishingiz mumkin.
Qaysi   algoritm   sizning   ehtiyojlaringizga   eng   mos   kelishini   aniqlash   uchun
turli   xil   algoritmlarni   sinab   ko’rish   tavsiya   etiladi.   Agar   tezlik   muhim   bo’lsa,
NEAREST   yoki   BILINEAR   algoritmlaridan   foydalaning.   Agar   sifat   muhim
bo’lsa,  BICUBIC  yoki  LANCZOS  algoritmlaridan foydalaning.
Rasmlarni Siqish Usullari (JPEG, PNG, WebP)
Rasmlarni   siqish   ularning   hajmini   kamaytirish   uchun   ishlatiladi.   Pillow
kutubxonasi turli xil siqish usullarini qo’llab-quvvatlaydi:
 JPEG:   Lossy   siqish   algoritmi.   Rasm   sifati   biroz   yo’qoladi,   ammo   hajmi
sezilarli darajada kamayadi. Fotosuratlar uchun yaxshi tanlov.
 PNG:   Lossless   siqish   algoritmi.   Rasm   sifati   yo’qolmaydi,   ammo   hajmi
JPEGga   qaraganda   kamroq   kamayadi.   Logotiplar   va   grafikalar   uchun   yaxshi
tanlov.
 WebP:   Zamonaviy   siqish   algoritmi.   JPEG   va   PNGdan   yaxshiroq   siqish
nisbatiga ega. Veb uchun yaxshi tanlov.
Siqish uchun  save()  funksiyasidan foydalaniladi. Quyida misol keltirilgan:
from PIL import Image
# Rasmni yuklash
rasm = Image.open("rasm.jpg")
# JPEG siqish
rasm.save("compressed_rasm.jpg", "JPEG", quality=85)
# PNG siqish
rasm.save("compressed_rasm.png", 
"PNG", optimize=True)
20 # WebP siqish
rasm.save("compressed_rasm.webp", 
"WebP", quality=80)
Bu   kod   rasmni   yuklaydi   va   uni   JPEG,   PNG   va   WebP   formatlarida   siqadi.
JPEG   uchun   quality   parametri   rasm   sifatini   belgilaydi   (0-100).   PNG   uchun
optimize  parametri siqishni optimallashtiradi. WebP uchun  quality  parametri ham
rasm sifatini belgilaydi.
Siqish darajasini tanlash rasm sifati va hajmi o’rtasidagi muvozanatga bog'liq.
Agar   siz   yuqori   sifatli   rasmni   saqlab   qolmoqchi   bo’lsangiz,   yuqori   sifatli
parametrni   tanlang.   Agar   siz   hajmni   kamaytirishni   xohlasangiz,   pastroq   sifatli
parametrni tanlang. 8
Masshtablangan va siqilgan rasmlarni saqlash
Masshtablangan   va   siqilgan   rasmlarni   saqlash   uchun   rasm.save()
funksiyasidan foydalanishingiz mumkin. Ushbu funksiya fayl nomini va formatini
qabul qiladi.
from PIL import Image
# Rasmni yuklash
rasm = Image.open("rasm.jpg")
# Yangi o’lchamlar
yangi_olchamlar = (500, 500)
# Rasmni masshtablash
masshtablangan_rasm   =   rasm.resize(yangi_olchamlar,
Image.BICUBIC)
8
  M.   R.   Fayziyeva,   D.   M.   Sayfurov,   N.   S.   Xaytullayeva.   “Informatika   va   axborot   texnologiyalari:   umumiy   o’rta
ta’lim maktablarining 9 – sinfi uchun darslik”: Toshkent – 2020. 
21 # Rasmni saqlash
masshtablangan_rasm.save("masshtablangan_rasm.jpg")
# JPEG siqish
masshtablangan_rasm.save("siqilgan_rasm.jpg",
"JPEG", quality=85)
Fayl   nomini  tanlashda  kengaytmani   to’g'ri   ko’rsatish   muhim,  chunki   u  rasm
formatini   aniqlaydi.   Agar   siz   rasmning   sifatini   nazorat   qilmoqchi   bo’lsangiz,
quality  parametrini   JPEG  formati uchun yoki   optimize  parametrini   PNG  formati
uchun   ishlatishingiz   mumkin.   Bundan   tashqari,   saqlash   vaqtida   boshqa   formatlar
uchun ham qo’shimcha parametrlarni sozlash imkoniyati mavjud. Masalan,   WebP
formati   uchun   lossless   (sifatni   yo’qotmaslik)   yoki   quality   parametrlarini   sozlash
mumkin.   Turli   parametrlarni   sinab   ko’rish   orqali   siz   eng   yaxshi   muvozanatni
topishingiz mumkin.
Dastur interfeysini yaratish
Dastur   interfeysini   yaratish   uchun   Tkinter   kutubxonasidan   foydalanishingiz
mumkin. Quyidagi kod oddiy interfeysni yaratishni ko’rsatadi:
import tkinter as tk
from tkinter import filedialog
from PIL import Image
def rasm_yuklash():
    global rasm
    fayl_yoli = filedialog.askopenfilename()
    rasm = Image.open(fayl_yoli)
    # Rasmni ko’rsatish uchun kod
def masshtablash():
    # Masshtablash uchun kod
22 def siqish():
    # Siqish uchun kod
def saqlash():
    # Saqlash uchun kod
oyna = tk.Tk()
oyna.title("Rasm masshtablash va siqish")
yuklash_tugmasi   =   tk.Button(oyna,   text="Rasmni
yuklash", command=rasm_yuklash)
yuklash_tugmasi.pack()
masshtablash_tugmasi   =   tk.Button(oyna,
text="Masshtablash", command=masshtablash)
masshtablash_tugmasi.pack()
siqish_tugmasi   =   tk.Button(oyna,   text="Siqish",
command=siqish)
siqish_tugmasi.pack()
saqlash_tugmasi   =   tk.Button(oyna,   text="Saqlash",
command=saqlash)
saqlash_tugmasi.pack()
oyna.mainloop()
Ushbu kod oynani, tugmalarni va rasmlarni yuklash, masshtablash, siqish va
saqlash   uchun   funksiyalarni   yaratadi.   Interfeysni   yanada   qulay   qilish   uchun
qo’shimcha   elementlar,   masalan,   matn   maydonlari,   slayderlar   va   boshqalarni
qo’shishingiz  mumkin. Shuningdek, masshtablash  va siqish  algoritmlarini  tanlash
imkoniyatini ham qo’shish tavsiya etiladi. Bu foydalanuvchilarga o’z ehtiyojlariga
23 mos keladigan sozlamalarni tanlash imkoniyatini beradi. Bundan tashqari, dasturga
xatolarni   qayta   ishlash   funksiyalarini   qo’shish   ham   muhim,   shunda
foydalanuvchilar   xato   xabarlarini   ko’rishlari   va   muammolarni   bartaraf   etishlari
mumkin bo’ladi. 9
Masshtablash va Siqish Funktsiyalarini Integratsiya Qilish
Dastur   interfeysi   yaratilgandan   so’ng,   masshtablash   va   siqish   funktsiyalarini
integratsiya   qilish   kerak.   Bu   foydalanuvchi   tomonidan   kiritilgan   parametrlarni
olish   va   ularni   Pillow   kutubxonasining   mos   funksiyalariga   uzatishni   o’z   ichiga
oladi.
Quyida   masshtablash   va   siqish   funktsiyalarini   integratsiya   qilish   misoli
keltirilgan:
import tkinter as tk
from tkinter import filedialog
from PIL import Image
def process_image():
    global rasm
    if rasm:
        # Masshtablash algoritmini olish
        algorithm = algorithm_var.get()
        if algorithm == "NEAREST":
            resample = Image.NEAREST
        elif algorithm == "BILINEAR":
            resample = Image.BILINEAR
        elif algorithm == "BICUBIC":
            resample = Image.BICUBIC
        else:
            resample = Image.LANCZOS
9
  M.T.Azimjanova,  M. T.  Muradova,  M. S. Pazilov. Informatika  va  axborot  texnologiyalari, O’quv  qo’llanma, T:
O’zbekiston faylasuflari milliy jamiyat nashriyoti – 2013.
24         # Yangi o’lchamlarni olish
        new_width = int(width_entry.get())
        new_height = int(height_entry.get())
        # Masshtablash
                resized_rasm   =   rasm.resize((new_width,
new_height), resample)
        # Siqish formatini olish
        format = format_var.get()
        # Siqish sifatini olish
        quality = int(quality_slider.get())
        # Saqlash
                file_path   =
filedialog.asksaveasfilename(defaultextension="."   +
format.lower())
        if file_path:
                        resized_rasm.save(file_path,   format,
quality=quality)
            print("Rasm saqlandi:", file_path)
Bu   kod   masshtablash   algoritmini,   yangi   o’lchamlarni,   siqish   formatini   va
sifatini foydalanuvchi tomonidan kiritilgan parametrlardan oladi va ularni   resize()
va   save()   funksiyalariga   uzatadi.   So’ngra,   masshtablangan   va   siqilgan   rasmni
foydalanuvchi tomonidan tanlangan joyga saqlaydi.
Integratsiya   jarayonida   xatolarni   qayta   ishlash   ham   muhimdir.   Masalan,
foydalanuvchi   noto’g'ri   o’lchamlarni   kiritishi   mumkin.   Bunday   hollarda,   dastur
xato   xabarini   ko’rsatishi   va   foydalanuvchidan   to’g'ri   ma'lumotlarni   kiritishni
so’rashi kerak.
25 Yakuniy kod va dasturdan foydalanish bo’yicha qo’llanma
Dasturni   yaratish   jarayoni   yakunlangandan   so’ng,   yakuniy   kodni   sinovdan
o’tkazish va uni ishlatish bo’yicha qo’llanma yozish muhim. Qo’llanmada dasturni
o’rnatish,   sozlash   va   undan   foydalanish   bo’yicha   batafsil   ko’rsatmalar   bo’lishi
kerak. Bundan tashqari, dasturning asosiy funksiyalari, parametrlari va sozlamalari
haqida ma'lumot berish zarur. Agar dasturda xatoliklar bo’lsa, ularni bartaraf etish
bo’yicha tavsiyalar ham qo’llanmaga kiritilishi lozim.
Dasturni ishlatish bo’yicha qadamlar quyidagicha bo’lishi mumkin:
1. Dasturni ishga tushiring.
2. "Rasmni yuklash"  tugmasini bosing va rasmni tanlang.
3. Masshtablash va siqish sozlamalarini tanlang.
4. "Masshtablash"  va  "Siqish"  tugmalarini bosing.
5. "Saqlash"  tugmasini bosing va fayl nomini kiriting.
Ushbu qo’llanma foydalanuvchilarga dasturdan to’g'ri foydalanishga yordam
beradi va ularning ishini osonlashtiradi. Shuningdek, qo’llanma dasturni kelajakda
takomillashtirish   uchun   foydali   bo’lishi   mumkin,   chunki   u   foydalanuvchilarning
fikr-mulohazalarini   o’z   ichiga   olishi   mumkin.   Dasturni   doimiy   ravishda   yangilab
turish   va   qo’llab-quvvatlash   ham   muhim,   shunda   foydalanuvchilar   har   doim   eng
so’nggi   funksiyalardan   va   xavfsizlik   tuzatishlaridan   foydalanishlari   mumkin
bo’ladi. 10
10
  Anvar Nazrullayev. Pythonda dasturlash asoslari.  2021
26 Atirgul rasmni qayta ishlash
from PIL import Image
import os
def   process_image(input_path,   target_size=500,
quality=80):
    # Rasmni ochish
    image = Image.open(input_path)
    
    # Original o'lcham
    width, height = image.size
    original_size = os.path.getsize(input_path)
    
    # Yangi o'lchamni hisoblash
    ratio = width / height
    if width > height:
        new_width = target_size
        new_height = int(target_size / ratio)
    else:
        new_height = target_size
27         new_width = int(target_size * ratio)
    
    # Rasmni masshtablash
        image   =   image.resize((new_width,   new_height),
Image.Resampling.LANCZOS)
    
    # Yangi fayl nomini yaratish
    directory = os.path.dirname(input_path)
    filename = os.path.basename(input_path)
    name, ext = os.path.splitext(filename)
        output_path   =   os.path.join(directory,
f"{name}_scaled_compressed{ext}")
    
    # Rasmni saqlash
        image.save(output_path,   quality=quality,
optimize=True)
    new_size = os.path.getsize(output_path)
    
    return {
        'original_size': original_size,
        'new_size': new_size,
                'reduction':   ((original_size   -   new_size)   /
original_size) * 100,
        'dimensions': (new_width, new_height)
    }
if __name__ == "__main__":
    input_file = "attached_assets/Red_rose.jpg"
    result = process_image(input_file)
    
    print("\nRasm qayta ishlandi!")
28     print(f"Original hajmi: {result['original_size']
/ 1024:.1f} KB")
        print(f"Yangi   hajmi:   {result['new_size']   /
1024:.1f} KB")
        print(f"Hajmi   {result['reduction']:.1f}%   ga
kamaydi")
    print(f"Yangi o'lchamlari: {result['dimensions']
[0]}x{result['dimensions'][1]} piksel")
Rasm qayta ishlandi!
Original hajmi: 14.0 KB
Yangi hajmi: 19.8 KB
Hajmi -41.4% ga kamaydi
Yangi o'lchamlari: 348x500 piksel
XULOSA
29 Zamonaviy   dunyoda,   hayotni   axborot   texnologiyalarisiz   tasavvur   qilishning
iloji   yo’q.   Ular   bizning   hayotimizga   qat'iy   kirishdi,   axborot   texnologiyalari
insoniyat   hayotining   barcha   sohalarida   qo’llaniladi,   ayniqsa   ikki   tomonlama
muhim   rol   o’ynaydi.   Axborot   texnologiyalari   insoniyatning   barcha   to’plangan
tajribasini   amaliy   foydalanish   uchun   mos   formatlangan   shaklda   aks   ettiradi.
Shuningdek,   u   ijtimoiy   jarayonlarni   amalga   oshirish   uchun   ilmiy   bilim   va
materialistik tajribani jamlaydi, shu bilan birga mehnat, vaqt, energiya va moddiy
xarajatlarni   tejaydi.   "Bugun   O’zbekiston   barcha   sohalarda   o’zini   namoyon
qilmoqda.   Axborot   texnologiyalariga   o’z   vaqtida   e'tibor   qaratishimiz   yaxshi
natijalar   bermoqda.   Bitta   dasturiy   mahsulot   davlatga   korruptsiya,   byurokratiyani
yo’q  qilish   va  odamlar   uchun  qulayliklar  yaratishda   katta  yordamdir.  Yodingizda
bo’lsin,   sizning   ishingiz   juda   muhim",   —   dedi   Shavkat   Mirziyoyev.   O’zbekiston
Respublikasi Prezidentining 2021 yil 17 fevraldagi PQ-4996-sonli “Sun`iy intellekt
texnologiyalarini   jadal   joriy   etish   uchun   shart-sharoitlar   yaratish   chora-tadbirlari
to’g‘risida”gi   qarori,   2021   yil   26   avgustdagi   PQ-5234-sonli   “Sun`iy   intellekt
texnologiyalarini   qo’llash   bo’yicha   maxsus   rejimni   joriy   qilish   choratadbirlari
to’g‘risida”gi qarori, 2020 yil 5 oktabrdagi PF-6079-sonli “«Raqamli O`zbekiston
— 2030” strategiyasini tasdiqlash va uni samarali amalga oshirish chora-tadbirlari
to’g‘risida”  farmoni  yurtimizda Axborotlashtirish sohasiga  bo`lgan katta e`tiborni
ko`rsatadi  Bilamizki, dasturlash tilining mashhurligini  ishlab chiquvchilar  orasida
eng   ommabop   resurs   -   Stack   Overflowdagi   teglar   sonining   dinamikasi   bilan
kuzatish   mumkin.   Shunday   qilib,   grafikaga   ko’ra,   Pythonning   o’sishi   2010   yilda
boshlangan va 2015 yilda tezlashdi. Pythonni eski  til deb atash mumkin - u 1991
yilda, ya'ni deyarli 31 yil oldin paydo bo’lgan. Bu vaqt ichida u asta-sekin atrofiga
katta jamoani to’pladi. Java bilan bir vaqtda Python tili paydo bo’ladi. Til 5 ishlab
chiquvchisi,   matematik   Guido   van   Rossum   uzoq   vaqt   davomida   dasturlashni
o’rgatish   uchun   ABC   tilini   ishlab   chiqdi.   Python   birinchi   dasturlash   tili   sifatida
ishonchli tavsiya etilishi mumkin. Gap shundaki, Python uzoq vaqtdan beri mavjud
va u haqida juda ko’p yaxshi darsliklar yozilgan. U oddiy, "inson" tiliga o’xshash
tushunarli   sintaksisga   ega   va   u   xatolarni   ham   tushuntiradi.   Masalan,   undagi
30 ma'lumotlar   turini   ko’rsatish   shart   emas,   faqat   o’zgaruvchini   e'lon   qilish   kifoya.
Python kontekstdan uning butun son, haqiqiy son, mantiqiy yoki boshqa biror tipda
ekanligini   avtomatik   aniqlaydi.   Bu   yangi   boshlanuvchilar   uchun   katta   afzallik.
Agar   siz   C++   da   dasturlashtirgan   bo’lsangiz,   biror   joyda   haqiqiy   (float)   sonini
butun   (int)   songa   o’zgartirganingiz   uchun   dastur   6   kompilyatsiya   qilinmasligi
qanchalik   achinarli   ekanini   bilasiz.   Python   kodini   o’qish   juda   oson.   Aksariyat
dasturlash   tillarida  foydalanuvchi   bilan  o’zaro  aloqani   o’rnatish  uchun  boshqaruv
elementlari: oyna, matnlar maydoni va tugmachalar ishlatiladi. Bular umumiy nom
bilan   foydalanuvchining   grafik   interfeysi   (GUI   –   graphical   user   interface)   deb
ataladi.
Pillow   kutubxonasi,   Python   uchun   mo’ljallangan   tasvirlarni   qayta   ishlash
vositasi  bo’lib, rasmlarni masshtablash va siqish uchun keng imkoniyatlar taqdim
etadi. 
Masshtablash   -   bu   tasvirning   o’lchamlarini   o’zgartirish   jarayoni.   Pillow
yordamida   resize()   funksiyasi   orqali   tasvirni   kerakli   o’lchamga   moslashtirish
mumkin.   Misol   uchun,   tasvirning   kengligini   va   balandligini   berish   orqali   yangi
o’lchamdagi tasvir hosil qilinadi.
Siqish   -   tasvirning   hajmini   kamaytirish   jarayoni.   Pillow   bu   jarayonni   save()
funksiyasi   orqali   amalga   oshiradi.   Tasvirni   saqlayotganda,   sifatni   belgilab,
faylning   hajmini   kamaytirish   mumkin.   Masalan,   quality   parametri   orqali   JPEG
formatidagi siqish darajasini o’rnatish imkonini beradi.
Pillow orqali tasvirlar bilan ishlash oson va samarali bo’lib, ko’plab dasturiy
ta'minotlar uchun foydali hisoblanadi.
FOYDALANILGAN ADABIYOTLAR RO’YXATI
31 1. MirziyoyevSh.M.   “Yangi   O`zbekiston   taraqqiyot   strategiyasi”,
Toshkent-2022, 245-bet.
2. В a сильев   A. Н .,   “Python   н a   пример a х .
Пр a ктическийкурсп o пр o гр a ммир o в a нию”,   Н a ук a итехник a ,   С a нкт-Петербург,
2016, 235-243стр. 
3. Gabor Szabo, “1000 Python Examples”, 2020, 140-165 pages 
4. Sh.A.   Mengliyev,   O.A.   Abdug‘aniev,   S.Q.   Shonazarov,   D.
Sh.To’rayev “Python dasturlash tili”, Termiz-2021 
5. O.M.   Shukurov,   F.Q.   Qoraev,   E.A.Eshboyev,   B.H.Shovaliev
“Dasturlashdanmasalalarto`plami”, Metodikqo’llanma, Toshkent-2008.
6. Boltayev   B.,   Azamatov   A.,   Asqarov   A.,   Sodiqov   M.,   Azamatova   G.
Informatika   va   hisoblash   texnikasi   asoslari.   Toshkent:   "Cho’lpon"   nomidagi
NMIU, 2015. - 160 b.
7. Kris   Roffi.   Kompyuter   dasturlari.   Python   uchun   dasturlash   kitobi.   -
USA: Cambridge university press. 2017, - p. 204.
8. Dan   Bader.   Python   tricks   the   book.   Anja   Pircher   Design,   2017,   -   p.
299.
9. Eric   Matthes.   Python   crash   course:   a   hands-on,   project-based
introduction to programming. - San-Francisco: No Starch Press, 2015. - p. 562.
10. Jeyson Briggs. Bolalar uchun Python. Dasturlash bo’yicha qo’llanma.
- M.: Mann, Ivanov va Ferber, 2017. - 320 b
11. Нажимитдинов, М. К., Пулатов, Б. Р., & Халилов, И. Д. У. (2022).
ВАТАНҲИМОЯСИ – МУҚАДДАСБУРЧ .   Oriental   renaissance:   Innovative,
educational, natural and social sciences, 2(10-2), 942-946.
32 12. M.   R.   Fayziyeva,   D.   M.   Sayfurov,   N.   S.   Xaytullayeva.   “Informatika
va   axborot   texnologiyalari:   umumiy   o’rta   ta’lim   maktablarining   9   –   sinfi   uchun
darslik”: Toshkent – 2020. 
13. M.T.Azimjanova,   M.   T.   Muradova,   M.   S.   Pazilov.   Informatika   va
axborot   texnologiyalari,   O’quv   qo’llanma,   T:   O’zbekiston   faylasuflari   milliy
jamiyat nashriyoti – 2013.
14. Anvar Nazrullayev. Pythonda dasturlash asoslari.  2021
INTERNET MANBALARI
1. https://ai.mohirdev.uz/   
2. https://www.sololearn.com/   
3. https://leetcode.com/   
4. https://www.tiobe.com/tiobe-index/   
5. https://docs.python.org/   
33
Купить
  • Похожие документы

  • C# dasturlash tilida vorislikdan foydalanish
  • Konus kesimlari va ularning fokal xossalari
  • WPFda Application sinfi va boshqaruv elementlari shablonini yaratish
  • Algoritmik tillar va dasturlash
  • UWP(Win Ui) da grafika va multimedialar bilan ishlash

Подтвердить покупку

Да Нет

© Copyright 2019-2025. Created by Foreach.Soft

  • Инструкция по снятию с баланса
  • Контакты
  • Инструкция использования сайта
  • Инструкция загрузки документов
  • O'zbekcha