|
Dasturiy injiniring va raqamli iqtisodiyot
|
bet | 3/4 | Sana | 10.12.2023 | Hajmi | 1,56 Mb. | | #115259 |
Bog'liq Timsollarni tanib olishAmaliy qism:
import cv2
# Detektor kaskadi uchun Adaboost algoritmini yuklash
cascade_path = cv2.data.haarcascades + "haarcascade_frontalface_default.xml"
face_cascade = cv2.CascadeClassifier(cascade_path)
# Web kameraga murojaat uchun video capture obyektini yaratish
video_capture = cv2.VideoCapture(0)
while True:
# Kameradan kadrlarni o'qish
ret, frame = video_capture.read()
# Kadrdagi ranglarni o'zgartirish
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Yuzlarni aniqlash uchun detektor kaskadini ishlatish
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# Yuzlarni chizish
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
# Kadrlarni ko'rsatish
cv2.imshow('Video', frame)
# 'q' tugmasi bosilganda chiqish
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Video capture obyektini to'xtatish va oynalarni yopish
video_capture.release()
cv2.destroyAllWindows()
Mavzu: Haarcascade_fullbody neyron tarmog’i
Ishdan maqsad: Haarcascade_fullbody neyron tarmog’i bilan ishlash
Kerakli johozlar: kompyuter hamda internet.
Nazariy qism:
`haarcascade_fullbody` Haar-tug'ilgan (Haar-benzeri) xususiyatlarni ishlatib, butun shakllarni aniqlash uchun o'rganilgan yuz detektori kaskadi hisoblanadi. Ushbu kaskad, butun shakllarni aniqlash uchun o'rgangan.
Haar-tug'ilgan xususiyatlar, yuz, ko'z, burun, og'iz kabi ob'ektlarni aniqlash uchun ishlatiladi. Ushbu xususiyatlar, ob'ektlarni aniqlash uchun geometrik shakllardagi o'zgaruvchilarni o'rganishda foydalaniladi. Haar-tug'ilgan xususiyatlarga misol sifatida piksellerning jamlanmasi, piksellerning terishlarini hisoblash, yorug'lik va qora nuqtalarni hisoblash kabi xususiyatlar kirish mumkin. Ushbu xususiyatlarning kombinatsiyasi, detektorlarni aniqlash uchun qo'llaniladi. Haar-tug'ilgan xususiyatlarning foydalanilishi, ob'ektlarni aniqlash uchun tez va ishonchli natijalar olishga imkon beradi.
`haarcascade_fullbody` detektori, bedenlarni aniqlash uchun o'rganilgan olchovlar to'plamidan iborat bo'lib, ob'ektlarni aniqlash uchun ishlatiladi. Ushbu detektor kaskadi, bedenlarni aniqlash uchun o'rta va katta olchovli obrazlarda yuqori sifatli natijalar olishga yordam beradi.
Amaliy qism:
import cv2
# Detektor kaskadi uchun haarcascade_fullbody algoritmini yuklash
cascade_path = cv2.data.haarcascades + "haarcascade_fullbody.xml"
body_cascade = cv2.CascadeClassifier(cascade_path)
# Web kameraga murojaat uchun video capture obyektini yaratish
video_capture = cv2.VideoCapture(0)
while True:
# Kameradan kadrlarni o'qish
ret, frame = video_capture.read()
# Kadrdagi ranglarni o'zgartirish
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Butun shakllarni aniqlash uchun detektor kaskadini ishlatish
bodies = body_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# Butun shakllarni chizish
for (x, y, w, h) in bodies:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
# Kadrlarni ko'rsatish
cv2.imshow('Video', frame)
# 'q' tugmasi bosilganda chiqish
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Video capture obyektini to'xtatish va oynalarni yopish
video_capture.release()
cv2.destroyAllWindows()
|
| |