Try out Face Detection in under 5 Minutes!
Ruthvik Rao
Posted on June 19, 2020
Face Detection in recent years have been made a lot easier with the OpenCV library. There is an extensive market for face detection like security, analytics etc. So lets cut the shit and get on with the code!
Starting with the basics, You'll need to have the following:
- Python 3+(I'm pretty sure you have it installed if you are here)
- OpenCV
- Easy Install with the pip command "
pip install opencv-python
" and also "pip install opencv-contrib-python
"
- Easy Install with the pip command "
- The Open Sourced Trained Classifier File: haarcascade_frontalface_default.xml
Here's the Code:
First up, lets start by importing the opencv library
import cv2
Then load the Haar Classifier file to the program
cascade=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
Start to capture video from webcam. Change value from 0 to 1 if you are using an external webcam
cam=cv2.VideoCapture(0)
Now start a loop statement to capture every frame in the video input
while True:
_, img = cap.read()
Then convert the input frame to greyscale, this improves the
accuracy of detection
gryimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
Here comes the elephant, line that detects the faces
face = face_cascade.detectMultiScale(gray, 1.1, 5)
The parameters for the function are the input image, Scale
Factor and the minNeighbors
After detecting, the cascade model returns a numpy
array which are coordinate values where the face is
located on the frame. So lets draw a box over the faces:
`for (x, y, z, w, h) in face
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
At last, Display the frames in window
cv2.imshow("img",img)
Then end the code with the escape button:
k = cv2.waitkey(30) & 0xff
if k==27:
break
And that's pretty much it!
Try around and play with the code to make new apps such as a face counter or people detection alert system. Don't let anything stop, your creativity is the Limit :)
Thanks for Reading, Do reach out to me for any queries!
Posted on June 19, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.