“OpenCV” hamda Python dasturlash tili orqali inson yuzini aniqlovchi dastur yaratishni o’rganamiz. (1-qism: rasmdagi inson yuzini aniqlash).

Biz sizlar bilan “OpenCV” va Python bilan inson yuzini aniqlash dasturini tuzishni o’rganamiz. Buning uchun bizga “OpenCV” kutubxonasi va inson yuzi aks etgan rasm kerak bo’ladi.

Kutubxonani o’rnatish uchun terminalga quyidagi buyruqni kiriting:

pip install opencv-python
PowerShell

Kutubxona o’rnatilganda so’ng kerakli rasmni yuklab oling. Qandayligini ahamiyati yo’q. Muhumi unda inson yuzi tasvirlangan bo’lishi kerak.
Men “Steve Jobs” va uning do’stlari birgalikda tushgan rasmidan foydalanaman.

Rasmda uch inson yuzi tasvirlangan va biz ularning barchasini dasturda aniqlashimiz kerak.

import cv2
yuzning_shakli = cv2.CascadeClassifier(cv2.data.haarcascades + “haarcascade_frontalface_default.xml”)

Opencv kutubxonasini cv2 orqali import qilamiz.”yuzning_shakli” nomli o’zgaruvchiga kutubxonamizda yuzning tuzulishi haqidagi ma’lumotlarni yuklaymiz. Biz kiritgan parametrlarga asoslanib dasturimiz endi inson yuzini aniqlay oladi.

rasm= cv2.imread("Jobs.jpg")
ramka_rangi = cv2.cvtColor(rasm, cv2.COLOR_BGR2GRAY)
Python

Keyingi qadam.
Dasturimizga kerakli rasmni yuklab olamiz va ranglarni belgilab olamiz.
Yuklangan rasmni “BGR” va “GRAY” ranglari orqali aks etadi.”BGR” bu “Blue, Green, Red” ,”GRAY” esa “Green, Red, Azure, Yellow” so’zlarining qisqartmasi.

Yuzlar = yuzning_shakli.\detectMultiScale(rasm, 1.1, 19)
for (x,y,w,h) in Yuzlar:
    cv2.rectangle(rasm, (x,y),(x+w,y+h), (0,255,0),2)
PowerShell

Endi bo’lsa “Yuzlar” nomli o’zgaruvchiga sur’at da tasvirlangan inson yuzi ma’lumotlarini kritib,for sikli orqali dastur aniqlagan yuzlar tashqarisiga ramka chizamiz.

cv2.imshow('natija', rasm)<br>cv2.waitKey()
Python

Natijalarni “natija” nomli oynada ko’rishimiz mumkin.

Biz tanlagan sur’at sifatili bo’lmasa ham opencv undan inson yuzlarini ajrata oldi.
Umumiy kod:

import cv2 

yuzning_shakli = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")

rasm= cv2.imread("Jobs.jpg")
ramka_rangi = cv2.cvtColor(rasm, cv2.COLOR_BGR2GRAY)

Yuzlar = yuzning_shakli.\
    detectMultiScale(rasm, 1.1, 19)
for (x,y,w,h) in Yuzlar:
    cv2.rectangle(rasm, (x,y),
                  (x+w,y+h), (0,255,0),2)
    print(x,y,w,h)
cv2.imshow('natija', rasm)
cv2.waitKey()
Python

Sur’atdagi inson yuzini aniqlashni o’rganib oldikEndigi navbat shu ishni video tasvir orqali bajarib ko’rish bo’ladi.
Maqolaning davomi: OpenCV” hamda Python dasturlash tili orqali inson yuzini aniqlovchi dastur yaratishni o’rganamiz.(2-qism)


Mavzuga oid maqolalar