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
PowerShellKutubxona 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)
PythonKeyingi 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)
PowerShellEndi 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()
PythonNatijalarni “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()
PythonSur’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)
Eng ko’p o’qilgan maqolalar