使用python開發偵測臉部與電腦的距離的app

 2023/7/2

開始製作

流程:
1:使用筆電攝影機判斷人臉

2:使用筆電攝影機判斷電腦與人臉的距離

3:判斷距離小於x(預設35cm)就發出警告

7/2今日完成事項:


安裝python及opencv

(opencv參考資料:https://zh.wikipedia.org/zh-tw/OpenCV)



7/9完成事項:
安裝opencv進階套件
支援像是物件追蹤、人臉辨識...等功能

使用cv2讀取圖片
使用cv2通過攝影機捕捉人臉
7/16完成事項:
opencv人臉辨識
就是辨識人臉的時候把它框起來
參考資料:https://ithelp.ithome.com.tw/articles/10289911

步驟:
1:讀取圖片
2:下載haarcascade_frontalface_default.xml導入人臉摸型
3:辨識人臉
4:利用for迴圈,抓取每個人臉屬性,繪製方框
7/23完成事項:
偵測距離
參考資料https://blog.cavedu.com/2019/07/04/distance-of-the-person/

步驟:
1:量出物體長or寬
2:把物體擺在30cm處,拍照得出pixel
3:焦距=距離*感測器大小/物體大小
4:距離=焦距*物體大小/pixel

7/30完成事項:
做出警報聲
沒想到一個短短的程式碼出了超多錯誤...
錯誤1:indentationerror-unindent-does-not-match-any-outer-indentation-level
為何會出現這個錯誤:縮行錯誤
解決辦法:我們多了一行空格,刪掉空行就行了
錯誤2:無法install playsound
解決辦法:使用pip install --upgrade wheel再install playsound就ok了

最後成果:
當距離<=50cm時就會發出警報聲
8/13
製作播放音效部分
遇到的bug:
撥放完一次音效後無法撥放第二次
解決辦法:
先把撥放過的音效給刪了再複製回來
8/20
製作中斷迴圈的程式
遇到的bug:
按了q沒反應
原因:
org在cv2沒反應
解決辦法:
使用了python內建資料keyboard

留言