Python ile Fotoğraf ve Video üzerinden yüz yakalama
Merhaba arkadaşlar bugün python ile yazmış olduğum script'lerde basit olarak insan yüzünü bulup bunu bir kare içersinde gösteren script'lerinin amacını , kodlarını ve video ile kullanımı göstereceğim.Haydi bir giriş yapalım...
Arkadaşlar yukarıda'da paylaştığım gibi insanların yüzünü yakalan python tabanlı bir script yazmak istedim. Bunun için birkaç araştırma yaptığımda karşıma Opencv kütüphanesi geldi ve işe önce onu yükleyerek başladım. Sonrasında ise hem fotoğrafta hemde video'da insan yüzü'nü yakalayan bir proje yapıp sizlerle paylaşmak istedim.
Kötü kod yazdığım için üzgünüm.Daha iyi bir yazılımcı olmak için yazılım geliştirme ve problem çözme yeteneğim üzerinde hala uğraşmaktayım.
#DetectFaceImage.py import cv2 import numpy as np import sys #Cascade yolu sizin bilgisayarınız için farklı olabilir def Detect(image): faceCascade = cv2.CascadeClassifier("/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml") eyeCascade = cv2.CascadeClassifier('/usr/local/share/OpenCV/haarcascades/haarcascade_eye.xml') img = cv2.imread(image) faces = faceCascade.detectMultiScale(img , 1.3,5) for x,y,w,h in faces: cv2.rectangle(img , (x,y) , (x+w , y+h) , (255,0,0),3) cv2.imshow('Picture' , img) if cv2.waitKey(0) & 0xff == 27: cv2.destroyAllWindows() if __name__ == "__main__": image = sys.argv[1] Detect(image)
#DetectFaceVideo.py # -*- coding: utf-8 -*- import cv2 import numpy as np #Cascade yolu sizin bilgisayarınız için farklı olabilir def PlayVideo(): cap = cv2.VideoCapture(0) faceCascade = cv2.CascadeClassifier("/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml") while True: _, frame = cap.read() resize = cv2.resize(frame,(800,600) , interpolation = cv2.INTER_LINEAR ) faces = faceCascade.detectMultiScale(resize , 1.2,5) for (x, y, w, h) in faces: cv2.rectangle(resize, (x, y), (x+w, y+h), (0, 255, 0), 2) cv2.imshow("Video" , resize) if cv2.waitKey(10) & 0xff == 27: break cap.release() cv2.destroyAllWindows() PlayVideo()
Yukarıda paylaşmış olduğum kodda bir sıkıntı yada yapılabilecek iyileştirmeler için bana ulaşabilirseniz çok sevinirim.Okuduğunuz için çok teşekkür ederim.Esen kalın :)