Real Time Face Detection Using OpenCV & python
In this post i wanted to share face detection using using Haar cascades in OpenCV and Python
Haar Cascade is a machine learning object detection algorithm used to identify objects in an image or video and based on the concept of features.
-First install OpenCV library using command
pip install opencv-python
- You need to download Haa cascade XML (haarcascade_frontalface_default.xml ) which is available on OpenCv’s GitHub repository.
- we can detect faces in videos. As you know videos are basically made up of frames, which are still images. So we perform the face detection for each frame in a video. Here is the code:
|
| import cv2
|
| # Load the cascade |
| face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') |
|
|
| # To capture video from webcam. |
| cap = cv2.VideoCapture(0) |
| # To use a video file as input |
| # cap = cv2.VideoCapture('filename.mp4') |
|
|
| while True: |
| # Read the frame |
| _, img = cap.read() |
| # Convert to grayscale |
| gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) |
| # Detect the faces |
| faces = face_cascade.detectMultiScale(gray, 1.1, 4) |
| # Draw the rectangle around each face |
| for (x, y, w, h) in faces: |
| cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2) |
| # Display |
| cv2.imshow('img', img) |
| # Stop if escape key is pressed |
| k = cv2.waitKey(30) & 0xff |
| if k==27: |
| break |
| # Release the VideoCapture object |
| cap.release() |
Comments
Post a Comment