Ask Your Question

Revision history [back]

python facedetection detectMultiScale

the function cv2.detectMultiScale can sucessfully detect the position of face and by using the fuction cv2.detectMultiScale3 i can also know the confidence score of each detected face. My question is the fuction cv2.detectMultiScale3 only tells confidence scores of the search windows of detected faces,and my thought is when i slowly move the search window,it can tell me the socres for every window(even if they are very small) but not only the detected faces window.

in this program i simply cut 1 image to several parts(using the cv2.ROI)

import os import cv2 from PIL import Image,ImageDraw

image_save_path_head = "H:/OpenCV-demo-master/FaceDetection_python-opencv/cut-pic" image_save_path_tail = ".jpg"

for i in range(1,49): img = cv2.imread( "%s%d%s" % (image_save_path_head, i, image_save_path_tail) )

face_cascade = cv2.CascadeClassifier("H:/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml")
if img.ndim == 3:
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
else:
    gray = img  

faces = face_cascade.detectMultiScale3(gray,flags=1, scaleFactor=1.1, outputRejectLevels=True)  
rects = faces[0]
neighbours = faces[1]
weights = faces[2]
print("weight of %d is "%(i),rects,neighbours,weights)

and i get weight of 1 is () () () weight of 2 is () () () weight of 3 is () () () weight of 4 is () () () weight of 5 is () () () weight of 6 is () () () weight of 7 is () () () weight of 8 is () () () weight of 9 is () () () weight of 10 is () () () weight of 11 is () () () weight of 12 is () () () weight of 13 is () () () weight of 14 is () () () weight of 15 is () () () weight of 16 is () () () weight of 17 is () () () weight of 18 is () () () weight of 19 is () () () weight of 20 is () () () weight of 21 is () () () weight of 22 is () () () weight of 23 is () () () weight of 24 is () () () weight of 25 is () () () weight of 26 is () () () weight of 27 is () () () weight of 28 is () () () weight of 29 is () () () weight of 30 is () () () weight of 31 is () () () weight of 32 is () () () weight of 33 is () () () weight of 34 is () () () weight of 35 is () () () weight of 36 is () () () weight of 37 is () () () weight of 38 is () () () weight of 39 is () () () weight of 40 is () () () weight of 41 is () () () weight of 42 is () () () weight of 43 is () () () weight of 44 is () () () weight of 45 is () () () weight of 46 is [[ 4 10 37 37]] [[25]] [[ 7.2749402]] weight of 47 is () () () weight of 48 is [[ 0 13 32 32]] [[25]] [[ 8.64948004]]

python facedetection detectMultiScale

the The function cv2.detectMultiScale cv2.detectMultiScale can sucessfully successfully detect the position of face and by using the fuction cv2.detectMultiScale3 cv2.detectMultiScale3 i can also know the confidence score of each detected face. face.

My question is the fuction cv2.detectMultiScale3 cv2.detectMultiScale3 only tells confidence scores of the search windows of detected faces,and my thought is when i slowly move the search window,it can tell me the socres for every window(even if they are very small) but not only the detected faces window.

in this program i simply cut 1 image to several parts(using the cv2.ROI)cv2.ROI)

import os
import cv2
from PIL import Image,ImageDraw

Image,ImageDraw image_save_path_head = "H:/OpenCV-demo-master/FaceDetection_python-opencv/cut-pic" image_save_path_tail = ".jpg"

".jpg" for i in range(1,49): img = cv2.imread( "%s%d%s" % (image_save_path_head, i, image_save_path_tail) )

)
face_cascade = cv2.CascadeClassifier("H:/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml")
 if img.ndim == 3:
 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
 else:
 gray = img
 faces = face_cascade.detectMultiScale3(gray,flags=1, scaleFactor=1.1, outputRejectLevels=True)
 rects = faces[0]
 neighbours = faces[1]
 weights = faces[2]
 print("weight of %d is "%(i),rects,neighbours,weights)

and i get get

weight of 1 is () () () weight of 2 is () () () () weight of 2 is () () () weight of 3 is () () () weight of 4 is () () () weight of 5 is () () () () weight of 5 is () () () weight of 6 is () () () weight of 7 is () () () weight of 8 is () () () () weight of 8 is () () () weight of 9 is () () () weight of 10 is () () () weight of 11 is () () () () weight of 11 is () () () weight of 12 is () () () weight of 13 is () () () weight of 14 is () () () () weight of 14 is () () () weight of 15 is () () () weight of 16 is () () () weight of 17 is () () () () weight of 17 is () () () weight of 18 is () () () weight of 19 is () () () weight of 20 is () () () () weight of 20 is () () () weight of 21 is () () () weight of 22 is () () () weight of 23 is () () () () weight of 23 is () () () weight of 24 is () () () weight of 25 is () () () weight of 26 is () () () () weight of 26 is () () () weight of 27 is () () () weight of 28 is () () () weight of 29 is () () () () weight of 29 is () () () weight of 30 is () () () weight of 31 is () () () weight of 32 is () () () () weight of 32 is () () () weight of 33 is () () () weight of 34 is () () () weight of 35 is () () () () weight of 35 is () () () weight of 36 is () () () weight of 37 is () () () weight of 38 is () () () () weight of 38 is () () () weight of 39 is () () () weight of 40 is () () () weight of 41 is () () () () weight of 41 is () () () weight of 42 is () () () weight of 43 is () () () weight of 44 is () () () () weight of 44 is () () () weight of 45 is () () () weight of 46 is [[ 4 10 37 37]] 37]] [[25]] [[ 7.2749402]] 7.2749402]] weight of 47 is () () () () () () weight of 48 is [[ 0 13 32 32 32]] [[25]] [[ 8.64948004]]