Working with Scale Factor
Learn how to use the scale factor when detecting faces in Python.
We'll cover the following...
Face detection
In this lesson, we’ll use the image below to detect faces.
Let’s detect faces in this picture.
Press + to interact
#!/usr/bin/pythonimport sysimport cv2import matplotlib.pyplot as pltdef face_detect(imgpath, nogui = False, cascasdepath = "haarcascade_frontalface_default.xml"):image = cv2.imread(imgpath)gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)face_cascade = cv2.CascadeClassifier(cascasdepath)faces = face_cascade.detectMultiScale(gray,scaleFactor = 1.1,minNeighbors = 5,minSize = (30,30))print("The number of faces found = ", len(faces))for (x,y,w,h) in faces:cv2.rectangle(image, (x,y), (x+h, y+h), (0, 255, 0), 2)if nogui:cv2.imwrite('test_face.png', image)return len(faces)else:cv2.imwrite("output/Faces_found.png", image)if __name__ == "__main__":face_detect(sys.argv[1])
We can see that our program ...