第12堂 機器人視覺-AI人臉辨識
WebCam
如何測試?
如何拍照或錄影?
擷取一張有人臉的圖片
Python介紹
安裝 Python
千萬注意一個小細節…
疑惑
- 又要學新語言? 我C都還不熟…
試試看,說不定你跟python更容易混熟
請看下面影片…
- 學這麼多會不會干擾?
干擾也沒差,軟體開發又不是在考試,可以open book,可以隨時查閱,使用武林神功”複製貼上” - 學這麼多有何優點?
回想剛才的影片
見多識廣,要解決問題時就可以比別人想到更多工具,例如Matlab, Python, JavaScript… - 學這麼多有何缺點?
我想不到,你幫我想想
期待當工程師了嗎?
馬上安裝業界最多人用的 Visual Studio Code
開始AI影像辨識囉,安裝 Opencv for Python
pip install opencv-python
常見問題?
人臉辨識範例
import cv2
def detectFace(img):
filename = img.split(".")[0] # 取得檔案名稱(不添加副檔名)
img = cv2.imread(img) # 讀取圖檔
grayImg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 透過轉換函式轉為灰階影像
color = (0, 255, 0) # 定義框的顏色
# OpenCV 人臉識別分類器
face_classifier = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")
# 調用偵測識別人臉函式
faceRects = face_classifier.detectMultiScale(
grayImg, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))
# 大於 0 則檢測到人臉
if len(faceRects):
# 框出每一張人臉
for faceRect in faceRects:
x, y, w, h = faceRect
cv2.rectangle(img, (x, y), (x + h, y + w), color, 2)
# 將結果圖片輸出
cv2.imwrite(filename + "_face.jpg", img)
detectFace('2.jpg')
牛刀小試
把上面的人臉框改成紫色
自動顯示圖片3秒
img2 = cv2.imread('2_face.jpg')
cv2.imshow("OK", img2)
cv2.waitKey(3000)
cv2.destroyAllWindows()
今天認識Python之後,記住3個重要的觀念
縮排、縮排、縮排
以後寫別種語言,包括 C ,即使用了大括號,一樣要縮排,
你的程式寫到讓別人容易閱讀,你就容易變成大咖