O’ZBEKISTON ALOQA VA AXBOROTLASHTIRISH AGENTLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI FARG’ONA FILIALI
“Kompyuter injiniringi” fakulteti
“Axborot texnologiyalari” kafedrasi
“Kompyuter ko’rish” fanidan
“Open CV dasturidan amaliyotda foydalanish.” mavzusidagi
Mustaqil ishi
Bajardi: Mansurova Durdona
Qabul qildi: Rasulov A.
Farg’ona 2021
Mavzu: Open CV dasturidan amaliyotda foydalanish.
Reja:
Kirish.
Python uchun Windows-da OpenCV-ni o'rnating.
OpenCV yordamida rasmlar ustida Read, Display and Write amallarini bajarish.
Hulosa.
Kirish
OpenCV (Open Source Computer Vision Library) ochiq manbali kompyuter koʻrish va mashinani oʻrganish dasturlari kutubxonasi. OpenCV kompyuterni ko'rish ilovalari uchun umumiy infratuzilmani ta'minlash va tijorat mahsulotlarida mashinani idrok etishdan foydalanishni tezlashtirish uchun qurilgan.
1-rasm.
BSD-litsenziyalangan mahsulot bo'lgan OpenCV korxonalar uchun koddan foydalanish va o'zgartirishni osonlashtiradi. Kutubxonada 2500 dan ortiq optimallashtirilgan algoritmlar mavjud bo'lib, ular klassik va zamonaviy kompyuter ko'rish va mashinani o'rganish algoritmlarining keng qamrovli to'plamini o'z ichiga oladi. Ushbu algoritmlar yuzlarni aniqlash va tanib olish, ob'ektlarni aniqlash, videolarda inson harakatlarini tasniflash, kamera harakatlarini kuzatish, harakatlanuvchi ob'ektlarni kuzatish, ob'ektlarning 3D modellarini ajratib olish, stereo kameralardan 3D nuqta bulutlarini ishlab chiqarish, yuqori piksellar sonini yaratish uchun tasvirlarni birlashtirish uchun ishlatilishi mumkin. OpenCV 47 mingdan ortiq foydalanuvchiga ega. Yuklab olishlarning taxminiy soni 18 milliondan oshadi. Kutubxonadan kompaniyalar, tadqiqot guruhlari va davlat organlari tomonidan keng foydalaniladi. Amaliyotga o'tishdan oldin, biz bir oz nazariyani tushunishimiz kerak. Har bir tasvir piksellar to'plamidan iborat. Piksel tasvirning qurilish blokidir. Agar biz tasvirni panjara shaklida ifodalasak, unda to'rdagi har bir kvadrat bitta pikselni o'z ichiga oladi, bu erda koordinatali nuqta (0, 0) tasvirning yuqori chap burchagiga to'g'ri keladi. Misol uchun, bizda 400x300 piksel o'lchamli tasvir bor, deylik. Bu bizning to'rimizda 400 qator va 300 ustun borligini anglatadi. Birgalikda bizning rasmimiz 400 * 300 = 120 000 pikselga ega. Aksariyat tasvirlar piksellarni ikki shaklda ifodalaydi: kulrang rang va RGB. Kulrang rangdagi tasvirlarda har bir piksel 0 dan 255 gacha qiymatga ega, bunda 0 qora va 255 oq rangdir. 0 dan 255 gacha bo'lgan qiymatlar turli xil kul ranglarini oladi, bu erda 0 ga yaqinroq qiymatlar quyuqroq va 255 ga yaqinroq qiymatlar engilroq bo'ladi:
Rangli piksellar odatda RGB (qizil, yashil, ko'k) rang maydonida ifodalanadi, qizil komponent uchun bitta qiymat, yashil uchun bitta va ko'k uchun. Uch komponentning har biri 0 dan 255 gacha bo'lgan butun son bilan ifodalanadi, bu esa qancha rang mavjudligini ko'rsatadi. Har bir komponent [0,255] diapazonida ifodalangan deb faraz qilsak, har bir rangning toʻyinganligini ifodalash uchun bizga 8-bitli belgisiz butun son kerak boʻladi. Keyin biz barcha uch komponentning qiymatlarini shaklning bir qatoriga (qizil, yashil, ko'k) birlashtiramiz. Masalan, oq rang olish uchun har bir komponent 255: (255, 255, 255) bo'lishi kerak. Keyin qora rang olish uchun komponentlarning har biri 0 ga teng bo'lishi kerak: (0, 0, 0). Quyida umumiy ranglar mavjud,
Kutubxonada ishlaydigan Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota kabi yaxshi tashkil etilgan kompaniyalar bilan bir qatorda OpenCV-dan keng foydalanadigan Applied Minds, VideoSurf va Zeitera kabi ko'plab startaplar mavjud. OpenCV-ning qo'llanilgan qo'llanilishi ko'cha ko'rinishidagi tasvirlarni bir-biriga yopishtirish, Isroildagi kuzatuv videosiga bostirib kirishlarni aniqlash, Xitoydagi kon uskunalarini kuzatish, Willow Garageda robotlarga navigatsiya qilish va ob'ektlarni olishda yordam berish, Evropada basseynda cho'kish avariyalarini aniqlash, interaktiv san'atni o'z ichiga oladi. Ispaniya va Nyu-York Turkiyadagi uchish-qo‘nish yo‘laklarida qoldiqlar bor-yo‘qligini tekshirmoqda, Yaponiyada yuzni tezda aniqlash uchun butun dunyo bo‘ylab fabrikalardagi mahsulotlardagi yorliqlarni tekshirmoqda. Open CV C++, Python, Java va MATLAB interfeyslariga ega va Windows, Linux, Android va Mac OS tizimlarini qo'llab-quvvatlaydi . OpenCV asosan real vaqt rejimida ko'rish ilovalariga tayanadi va mavjud bo'lganda MMX va SSE ko'rsatmalaridan foydalanadi. To'liq xususiyatli CUDA va OpenCL interfeyslari hozirda faol ishlab chiqilmoqda. 500 dan ortiq algoritmlar va bu algoritmlarni tuzadigan yoki qo'llab-quvvatlaydigan taxminan 10 barobar ko'p funktsiyalar mavjud. OpenCV original tarzda C++ tilida yozilgan va STL konteynerlari bilan uzluksiz ishlaydigan shablonli interfeysga ega.
Python uchun Windows-da OpenCV-ni o'rnating.
Python keng qo'llaniladigan yuqori darajali, umumiy maqsadli, talqin qilinadigan, dinamik dasturlash tilidir. Uning dizayn falsafasi kodni o'qishga urg'u beradi va uning sintaksisi dasturchilarga tushunchalarni C++ yoki Java kabi tillarga qaraganda kamroq kod qatorlarida ifodalash imkonini beradi. Til kichik va katta miqyosda aniq dasturlarni yoqish uchun mo'ljallangan konstruksiyalarni taqdim etadi. Anaconda python distributivi - bu dasturiy ta'minot paketlarining bir nechta versiyalari va ularning bog'liqliklarini o'rnatish va ular o'rtasida osongina almashish uchun ochiq manbali paketlarni va atrof-muhitni boshqarish tizimi. U Linux, OS X va Windows tizimlarida ishlaydi va Python dasturlari uchun yaratilgan, lekin har qanday dasturiy ta'minotni paketlashi va tarqatishi mumkin. Quyida Python uchun Anaconda-ni o'rnatish jarayonini ko’rib chiqamiz. 1-qadam: Python 3 uchun Anacondani o'rnatish uchun dasturni www.anaconda.com veb saytidan yuklab olamiz va o'rnatishni boshlaymiz. Kopmyuterim 64-bitlik bo’lgani uchun 64-bit lik dasturni yuklab olaman.
Do'stlaringiz bilan baham: |