Python呼叫筆記本攝像頭,並實現人臉檢測功能

2021-09-25 19:25:17 字數 2002 閱讀 2600

回家第一天感覺好無聊,一天睡了十幾個小時,電視劇集也看完了,就玩玩python呼叫筆記本攝像頭並實現人臉檢測。

首先介紹一下如何呼叫筆記本的攝像頭,這裡我們使用opencv庫中的videocapture()函式建立攝像頭物件,其引數為0是表示呼叫第乙個攝像頭,一般就是筆記本的內建攝像頭。

import cv2

#定義攝像頭

cap = cv2.videocapture(0)

呼叫完成攝像頭後,我們要逐幀顯示,這裡我們就要用到while函式不斷顯示攝像頭獲取的每一幀影象,當檢測到退出『q』時,退出,釋放攝像頭,並銷毀所有視窗:

while(1)

ret,frame = cap.read()#讀取每一幀

cv2.imshow('攝像頭',frame)#顯示每一幀

if cv2.waitkey(1) & 0xff == ord(q):

break

cap.release()

cv2.destroyallwindows()

人臉檢測屬於目標檢測中的一部分,主要包括兩個方面:

①首先是對待檢測的目標進行特徵提取,並建立相應的檢測模型;

②然後用建立的模型去檢測輸入的影象,如果有待檢測目標,就框選出相應的區域。

下面我們使用opencv中訓練好的模型進行人臉檢測:

import cv2

cap = cv2.videocapture(0)

face = cv2.cascadeclassifier(r'c:\\users\\administrator\\anaconda3\\lib\\opencv-master\\opencv-master\\data\\haarcascades\\haarcascade_frontalface_default.xml')

eye = cv2.cascadeclassifier(r'c:\\users\\administrator\\anaconda3\\lib\\opencv-master\\opencv-master\\data\\`\\haarcascade_eye.xml')

smile = cv2.cascadeclassifier(r'c:\\users\\administrator\\anaconda3\\lib\\opencv-master\\opencv-master\\data\\haarcascades\\haarcascade_smile.xml')

while(1):

ret,frame = cap.read()

gray = cv2.cvtcolor(frame,cv2.color_rgb2gray)

faces = face.detectmultiscale(gray,1.1,3,0,(200,100))

for (x,y,w,h) in faces:

img = cv2.rectangle(frame,(x,y),(x+w,y+h),(255,255,0),2)

gray_roi = gray[y:y+h,x:x+h]

eyes = eye.detectmultiscale(gray_roi,1.02,3,0,(50,50))

for (ex,ey,ew,eh) in eyes:

cv2.rectangle(img,(x+ex,y+ey),(x+ex+ew,y+ey+eh),(0,255,0),2)

smiles = smile.detectmultiscale(gray,1.1,3,0,(100,100))

for (sx,sy,sw,sh) in smiles:

cv2.rectangle(frame,(sx,sy),(sx+sw,sy+sh),(0,255,255),2)

cv2.imshow('攝像頭',frame)

if cv2.waitkey(1) & 0xff == ord('q'):

break

cap.release()

cv2.destroyallwindows()

今天沒洗頭,我就不上圖了,大家自行執行看下效果吧!!!滑稽臉~~~

python實現呼叫筆記本攝像頭

import cv2 cv2.cap dshow 我呼叫系統攝像頭需要的引數,網上cv2.videocapture 0 就可以,但我的不行 cap cv2.videocapture 0 cv2.cap dshow flag cap.isopened while flag 從攝像頭讀取 sucess,...

Ubuntu16 04使用膝上型電腦攝像頭操作方式

在vmware軟體安裝ubuntu16.04系統,並在ubuntu中啟動膝上型電腦的攝像頭的配置方 使用 win r 快捷鍵,開啟win10電腦的執行埠,然後輸入 services.msc,開啟服務設定 在服務頁面找到 vmusbarbservice 服務,並將其啟動。開啟vmware,編輯虛擬機器...

Python呼叫攝像頭

如下 import cv2 import numpy 建立攝像頭物件 cap cv2.videocapture videotest test1.mp4 cap cv2.videocapture 0 引數為本地攝像頭 cap cv2.videocapture 1 引數為usb攝像頭 while 1 r...