|
Amaliy qism
Opencv kutubxonasini o’rnatib olamiz
|
bet | 2/4 | Sana | 10.12.2023 | Hajmi | 1,56 Mb. | | #115259 |
Bog'liq Timsollarni tanib olishAmaliy qism
Opencv kutubxonasini o’rnatib olamiz
pip install opencv-python
Codelariga misollar:
import cv2
file_name = "haarcascade_frontalface_default.xml"
filepath = r"C:\Users\User\Desktop\_timsollar_darslari\env\lib\site-packages\cv2\data"
# Detektor kaskadni yuklash
cascade_path = f"{filepath}\{file_name}" # Kaskad fayl manzili
face_cascade = cv2.CascadeClassifier(cascade_path)
# Open the webcam
video_capture = cv2.VideoCapture(0)
while True:
# Read the frame from the webcam
ret, frame = video_capture.read()
# Convert the frame to grayscale
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Detect faces
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# Draw rectangles around the faces
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
# Display the resulting frame
cv2.imshow('Video', frame)
# Exit if 'q' is pressed
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Release the video capture object and close the windows
video_capture.release()
cv2.destroyAllWindows()
Mavzu: Adabost algoritmidagi diskret old yuz detektori
Ishdan maqsad: Adabost algoritmidagi diskret old yuz detektori ustida ishlash
Kerakli johozlar: kompyuter hamda internet.
Nazariy qism:
Adaboost algoritmi, "Adaptive Boosting"ning qisqartmasi hisoblanadi. Ushbu algoritmda bir nechta o'zgaruvchilar bilan bir qator bositilgan detektorlar kombinatsiyasi o'rganiladi. Detektorlar o'zgaruvchilarni o'rganish jarayonida yuqori sifatli detektorlarni yaratish uchun ishlatiladi.
Yuz detektorlari esa ob'ektlarni rasm, video yoki "live cam"da aniqlash uchun ishlatiladi. Adaboost algoritmi asosida yaratilgan yuz detektorlarining bir turidir. Ushbu detektorlar, yuzlarni aniqlash uchun o'rganilgan va keng qo'llanilgan detektorlarning kombinatsiyasini ishlatadi.
Yuz detektorlari kaskadlarini o'rganishda genellikle "Haar-like" xususiyatlar ishlatiladi. Haar-like xususiyatlar, ob'ektlarni aniqlash uchun har hil turdagi o'zgaruvchilarni o'rganish uchun ishlatiladigan pikseller to'plamidir. Ushbu pikseller to'plami, o'zining geometrik shakllaridan kelib chiqqan holda ob'ektlarni aniqlash uchun foydalaniladi.
Yuz detektorlarining umumiy ishlash jarayoni esa quyidagi bosqichlardan iborat bo'ladi:
O'qish va haqiqiy rasm ko'rish: Detektor uchun kerakli ob'ektlarni o'rganish uchun o'qish jarayonida haqiqiy rasm ma'lumotlari kerak bo'ladi.
Xususiyatlar tahlili: Haar-like xususiyatlarni ishlatib, ob'ektlarni aniqlash uchun o'zgaruvchilarni o'rganish jarayoni o'tkaziladi.
Adaboost algoritmi: Xususiyatlar tahlilidan o'rganilgan detektorlar kombinatsiyasi yaratiladi. Adaboost algoritmi, har bir detektorni muhimligi bo'yicha o'zgaruvchilarni belgilashda foydalaniladi.
Kaskad detektorlari: O'rganilgan detektorlar kaskadi yaratiladi, bu kaskadlar ma'lum bir tartibda detektorlarni ishlatish imkonini beradi va ishlab chiqilgan detektorlarni jamlash imkonini beradi.
Deteksiya: Kaskad detektori ob'ektlarni aniqlash uchun foydalaniladi. Detektor ob'ektlarini aniqlab chiqqan holda ulardagi koordinatalarni topadi.
Natijalarni chizish: Aniqlangan ob'ektlar etrafida markaz va chegaralar bilan to'rtburchak chiziladi.
Ushbu bosqichlarga amal qilib, yuz detektorlari rasm, video yoki "live cam"da yuzlarni aniqlash uchun keng qo'llaniladi.
|
| |