0% found this document useful (0 votes)
8 views

Lab Program 12

sss

Uploaded by

Vinutha H M
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Lab Program 12

sss

Uploaded by

Vinutha H M
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

12) Write a program to detect a face/s in an image.

import cv2

face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades +
'haarcascade_frontalface_default.xml')
image = cv2.imread('images.jpg')
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray_image,
scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.imshow('Detected Faces', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
import cv2
Import the cv2 module.
face_cascade =
cv2.CascadeClassifier(cv2.data.haarcascades +
'haarcascade_frontalface_default.xml')
• The Haar cascade classifier for face detection is
loaded.

• This classifier is a pre-trained model that can detect


frontal faces in images.
image = cv2.imread('images.jpg')
• imread() function loads an image from the specified file
and returns it.
gray_image = cv2.cvtColor(image,
cv2.COLOR_BGR2GRAY)

The image is converted to grayscale using above function.


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

• The face_cascade.detectMultiScale function is used


to detect faces in the grayscale image.

• The parameters scaleFactor=1.1, minNeighbors=5,


and minSize=(30,30) control the detection process

• detectMultiScale function returns position of


detected faces as rectangles
1. scaleFactor: Specifies the scale factor used to resize the

input image for different scales.

2. minNeighbors: Specifies the minimum number of

neighboring rectangles that should overlap to consider

a face detection as valid.

3. minSize : Specifies the minimum size of the face to be

detected.
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
• faces contains rectangle coordinates corresponding to
detected faces. i.e (x,y,w,h)
• If 3 faces are detected, then faces contains coordinates of
3 rectangles.
image : On which rectangle has to be drawn
(x,y) : Coordinate of top left corner of rectangle
(x+w,y+h): Coordinate of bottom right corner of rectangle
(0,255,0) : Color of rectangle
2 : Thickness of line used for drawing rectangle
cv2.imshow('Detected Faces', image)
• cv2.imshow() method is used to display an image in a
window.
cv2.waitKey(0)
cv2.destroyAllWindows()
waitKey()

• waitKey() function of Python OpenCV allows users to


display a window for given milliseconds or until any
key is pressed.

• If 0 is passed in the argument it waits till any key is


pressed.

cv2.waitKey(0)
cv2.destroyAllWindows()
• The function cv2.destroyAllWindows() is used in
OpenCV (cv2) to close all the OpenCV windows that
were created with cv2.imshow().
Output Input Image

Output Image

You might also like