logo

Yüz Algılama için Opencv Python programı

Verilen programın amacı, ilgilenilen nesneyi (yüz) gerçek zamanlı olarak tespit etmek ve aynı nesneyi izlemeye devam etmektir. Bu, Python'da yüzün nasıl tespit edileceğine dair basit bir örnektir. Sınıflandırıcıyı gerekli nesneler üzerinde eğiterek, tespit edilmesi için seçtiğiniz herhangi bir nesnenin eğitim örneklerini kullanmayı deneyebilirsiniz. Aşağıda gereksinimleri indirme adımları verilmiştir.

Adımlar:

  1. Python 2.7.x sürümünü numpy ve Opencv 2.7.x sürümünü indirin. Windows'unuzun 32 bit mi yoksa 64 bit mi uyumlu olduğunu kontrol edin ve uygun şekilde yükleyin.
  2. Python'unuzda numpy'nin çalıştığından emin olun ve ardından opencv'yi yüklemeyi deneyin.
  3. haarcascade_eye.xml ve haarcascade_frontalface_default.xml dosyalarını aynı klasöre koyun (bağlantılar aşağıdaki kodda verilmiştir).

Uygulama



Python
# OpenCV program to detect face in real time # import libraries of python OpenCV  # where its functionality resides import cv2 # load the required trained XML classifiers # https://github.com/opencv/opencv/tree/master # data/haarcascades/haarcascade_frontalface_default.xml # Trained XML classifiers describes some features of some # object we want to detect a cascade function is trained # from a lot of positive(faces) and negative(non-faces) # images. face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # https://github.com/opencv/opencv/tree/master # /data/haarcascades/haarcascade_eye.xml # Trained XML file for detecting eyes eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml') # capture frames from a camera cap = cv2.VideoCapture(0) # loop runs if capturing has been initialized. while 1: # reads frames from a camera ret img = cap.read() # convert to gray scale of each frames gray = cv2.cvtColor(img cv2.COLOR_BGR2GRAY) # Detects faces of different sizes in the input image faces = face_cascade.detectMultiScale(gray 1.3 5) for (xywh) in faces: # To draw a rectangle in a face  cv2.rectangle(img(xy)(x+wy+h)(2552550)2) roi_gray = gray[y:y+h x:x+w] roi_color = img[y:y+h x:x+w] # Detects eyes of different sizes in the input image eyes = eye_cascade.detectMultiScale(roi_gray) #To draw a rectangle in eyes for (exeyeweh) in eyes: cv2.rectangle(roi_color(exey)(ex+ewey+eh)(0127255)2) # Display an image in a window cv2.imshow('img'img) # Wait for Esc key to stop k = cv2.waitKey(30) & 0xff if k == 27: break # Close the window cap.release() # De-allocate any associated memory usage cv2.destroyAllWindows() 

Çıkış:

çıktı' title=

Sonraki Makale:

Yüz algılama için Opencv C++ Programı Test Oluştur