• 正文
  • 推薦器件
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

最簡單體驗opencv人臉識別

2024/09/05
1166
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

所需軟件:PyCharm
所需硬件:一臺電腦

如果沒有安裝PyCharm,csdn上面搜一下安裝教程就行,很簡單的。

打開PyCharm,如果沒有裝opencv,則點擊最下面的terminal,在終端下輸入pip install opencn-python, 自動安裝opencv庫

在這里插入圖片描述

新建一個文件夾,再新建一個.py文件

下面去白嫖一個人臉識別的代碼,在瀏覽器輸入https://github.com/opencv/opencv/blob/4.x/data/haarcascades/haarcascade_frontalface_default.xml

選raw后ctrl + a選中全部,再ctrl + c復制,回到剛才的文件夾里新建一個.xml文件,然后ctrl + v粘貼,再crtl + s保存一下,搞定。

回到.py文件,把下面的代碼復制進去

import cv2                        #引入opencv庫
cap = cv2.VideoCapture(0)         #調(diào)用PC的攝像頭

while True:                       #一直循環(huán),把攝像頭抓拍到的每一幀圖像都show出來,形成視頻
    ret, frame = cap.read()
    if ret:
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #攝像頭抓到的圖片轉(zhuǎn)為灰度圖片,為人臉識別作準備
        faceCascade = cv2.CascadeClassifier('face_detect.xml')
        faceRect = faceCascade.detectMultiScale(gray, 1.1, 5) #表示在前后兩次相繼的掃描中,搜索窗口的比例系數(shù)。默認為1.1即每次搜索窗口依次擴大10%;最后的系數(shù)表示構成檢測目標的相鄰矩形的最小個數(shù)(默認為3個,越大越嚴謹)。
        print(len(faceRect))

        for (x, y, w, h) in faceRect:
            cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2) #畫矩形框住人臉
            cv2.putText(frame, 'Human', (x, y - 5),  cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)  #寫文字
            
        cv2.imshow('video', frame)  #把攝像頭抓拍到的一幀圖像show出來
    else: break
    if cv2.waitKey(1) == ord('q'):  #按q退出
        break

運行,你會看到自己的臉蛋兒被識別出來啦!

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
LTC6908IS6-2#TRPBF 1 Linear Technology LTC6908 - Dual Output Oscillator with Spread Spectrum Modulation; Package: SOT; Pins: 6; Temperature Range: -40°C to 85°C
$6.09 查看
SN74HC04DR 1 Texas Instruments 6-ch, 2-V to 6-V inverters 14-SOIC -40 to 85

ECAD模型

下載ECAD模型
$0.19 查看
DV75C-010.0M 1 Connor-Winfield LVCMOS Output Clock Oscillator
暫無數(shù)據(jù) 查看

相關推薦