• Tekshirdi
  • Yuzdan tanib oluvchi (face recognition) dastur yarating




    Download 0,53 Mb.
    Sana18.05.2024
    Hajmi0,53 Mb.
    #241399
    Bog'liq
    7-amaliy


    O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI

    KOMPYUTER TIZIMLARI” kafedrasi


    Kompyuter ko‘rishni raspberry pi bilan dasturlash fanidan tayyorlagan

    Amaliy ish-7



    Bajardi:Karimova Gavhar
    Tekshirdi: Karimberdiyev Jaxongir

    TOSHKENT – 2024
    Kompyuter ko‘rishni raspberry pi bilan dasturlash” fanidan 6-amaliy ish uchun topshiriq


    1. Yuzdan tanib oluvchi (face recognition) dastur yarating.

    2. Talaba o‘zining yuzini dastur orqali aniqlash jarayonini amalga oshirishi kerak va skrinshot tarzda word hujjat tayyorlashi lozim.

    3. Dastur kodini va .doc hujjatlarni tizimga yuklashi zarur.



    import cv2
    import numpy as np

    # Load the image of the known person


    known_image = cv2.imread('image1.jpg', cv2.IMREAD_GRAYSCALE)

    # Load the classifier for face detection


    face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
    # Initialize the camera
    cap = cv2.VideoCapture(0)

    while True:


    # Read a frame from the camera
    ret, frame = cap.read()

    if not ret:


    print("Error reading frame from camera")
    break

    # Convert the frame to grayscale


    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Detect faces in the frame


    faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))

    for (x, y, w, h) in faces:


    # Extract the face region from the frame
    face = gray[y:y+h, x:x+w]

    # Resize the known image to match the size of the detected face


    resized_known_image = cv2.resize(known_image, (w, h))

    # Compare the detected face with the known image


    diff = cv2.absdiff(face, resized_known_image)
    similarity = np.mean(diff)

    # Draw a rectangle around the detected face


    cv2.rectangle(frame, (x, y), (x+w, y+h), (255, 0, 0), 2)

    # Display the person's name if similarity is below a certain threshold


    if similarity < 100: # Adjust this threshold as needed
    cv2.putText(frame, "Zuhriddin", (x, y+h+30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
    else:
    cv2.putText(frame, "Unknown person", (x, y+h+30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)

    # Display the resulting frame


    cv2.imshow('Face Recognition', frame)

    # Exit loop if 'q' is pressed


    if cv2.waitKey(1) & 0xFF == ord('q'):
    break

    # Release the camera and close all windows


    cap.release()
    cv2.destroyAllWindows()
    Download 0,53 Mb.




    Download 0,53 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Yuzdan tanib oluvchi (face recognition) dastur yarating

    Download 0,53 Mb.