上記のサイトを参考にして、顔検出&スタンプのプログラムを組んでいますが、一つ疑問に思ったことがありまして、
調べてもいまいち分からなかったので、質問しました。
dlib.get_frontal_face_detector()の第二引数の数字の意味が分からないです。
お教えいただけないでしょうか?
(以下サイト内のdetector.py)
python
1# coding:utf-8 2 3import json 4import math 5import os 6 7import cv2 8import dlib 9 10 11def main(): 12 ## input path and read image 13 img_path = "../data/img/" + os.listdir("../data/img/")[0] 14 img_filename = os.path.basename(img_path) 15 img_ext = img_filename.split(".")[-1] 16 17 img = cv2.imread(img_path, cv2.IMREAD_COLOR) 18 if img is None: 19 print("Could not read input image") 20 exit() 21 22 23 ## instance detector/predictor 24 detector = dlib.get_frontal_face_detector() 25 predictor = dlib.shape_predictor("predictor/shape_predictor_68_face_landmarks.dat") 26 27 28 ## detect faces 29## この下の第二引数の意味が分からないです!!!! 30 faces = detector(img, 1) 31 if len(faces) == 0: 32 print("Could not detect any faces") 33 exit() 34 35 36 ## compute face properties 37 face_properties = {} 38 for i, f in enumerate(faces): 39 ## get 68 points 40 points = predictor(img, f).parts() 41 42 ## Left/Right temples 43 t_L = points[0] 44 t_R = points[16] 45 46 ## calc properties 47 face_width = math.sqrt((t_L.x - t_R.x)**2 + (t_L.y - t_R.y)**2) 48 face_center = [(t_L.x + t_R.x)/2, (t_L.y + t_L.y)/2] 49 degree_acw = -1 * math.degrees(math.atan2((t_R.y - t_L.y), (t_R.x - t_L.x))) 50 51 ## add result 52 face_properties[i] = { 53 "stamp": "01.png", 54 "center": face_center, 55 "width": face_width, 56 "angle": degree_acw 57 } 58 59 ## save 60 with open("../data/json/" + img_filename.replace(img_ext, "json"), "w") as f: 61 json.dump(face_properties, f, ensure_ascii=False, indent=4, separators=(',', ': ')) 62 63 64if __name__ == "__main__": 65 main()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/26 22:53