๐Ÿ˜Lbp Face2 Train

import cv2
import numpy as np
import os, glob

# ๋ณ€์ˆ˜ ์„ค์ • --- โ‘ 
base_dir = './faces'
train_data, train_labels = [], []


dirs = [d for d in glob.glob(base_dir+"/*") if os.path.isdir(d)]
print('Collecting train data set:')
for dir in dirs:
    # name_id ํ˜•์‹์—์„œ id๋ฅผ ๋ถ„๋ฆฌ ---โ‘ก
    id = dir.split('_')[1]          
    files = glob.glob(dir+'/*.jpg')
    print('\t path:%s, %dfiles'%(dir, len(files)))
    for file in files:
        img = cv2.imread(file, cv2.IMREAD_GRAYSCALE)
        # ์ด๋ฏธ์ง€๋Š” train_data, ์•„์ด๋””๋Š” train_lables์— ์ €์žฅ ---โ‘ข
        train_data.append(np.asarray(img, dtype=np.uint8))
        train_labels.append(int(id))

# NumPy ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ ---โ‘ฃ
train_data = np.asarray(train_data)
train_labels = np.int32(train_labels)

# LBP ์–ผ๊ตด์ธ์‹๊ธฐ ์ƒ์„ฑ ๋ฐ ํ›ˆ๋ จ ---โ‘ค
print('Starting LBP Model training...')
model = cv2.face.LBPHFaceRecognizer_create()
model.train(train_data, train_labels)
model.write('./faces/all_face.xml')
print("Model trained successfully!")