Windows10使用WebCam+OpenCV進行人臉辨識

Window10 + Python3.8 + opencv-python 4.5.1.48+opencv-contrib-python 4.5.2.54

Step1)安裝OpenCV,請參考Windows10安裝OpenCV

Step2)請到 https://github.com/opencv/opencv/tree/master/data/haarcascades下載haarcascade_frontalface_default.xml

Step3)使用指令「mkdir images」新增資料夾images。假設以下程式放置於Jupyter Notebook,點選「Run」就會開啟攝影機進行拍照,一次抓取30張,輸入id號碼,從數字1開始,一個數字表示一個人,請用攝影機近距離拍攝同一個人臉的各個角度,會自動計算30張,儲存到資料夾images。點選「Run」再次執行程式,下一個人使用數字2。

在images資料夾下,程式會自動擷取每人30張照片如下。

Step4)訓練照片,新增資料夾train,並使用「pip install pillow」安裝Pillow。新增以下程式到Jupyter notebook點選Run」就會讀取images資料夾下所有圖片,進行分析,訓練資料儲存到train資料夾下。

在train資料夾下,多出檔案train.yml,為訓練的結果。

Step5)辨識影片,在Jupyter Notebook新增以下程式,請修改第12行names的名字,第一個人的名字取代「建庭」,第二個人的名字取代「大明」,點選Run」就會開啟攝影機,讀取train資料夾的訓練結果進行影像辨識,cv2無法顯示中文,所以將圖片轉換成PIL,加上中文字後,再轉換成cv2顯示出來。

以下為桌面截圖。