日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

opencv 人脸识别_人工智能-OpenCV+Python实现人脸识别(视频人脸检测)

發布時間:2025/3/20 python 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv 人脸识别_人工智能-OpenCV+Python实现人脸识别(视频人脸检测) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上期文章我們分享了opencv識別圖片中的人臉,OpenCV圖片人臉檢測,本期我們分享一下如何從視頻中檢測到人臉

視頻人臉檢測

OpenCV打開攝像頭特別簡單,只需要如下一句代碼

capture = cv2.VideoCapture(0) # 打開攝像頭

打開攝像頭后,我們使用如下一句代碼,來獲取視頻中的圖片(每幀圖片)

ret, frame = capture.read() # 讀取

有了圖片我們就可以按照圖片的識別方式來檢測人臉了

有了以上的2句代碼,再加上上期的圖片識別,就可以從視頻中檢測人臉了

完整代碼:

import cv2

capture = cv2.VideoCapture(0) # 打開攝像頭

face = cv2.CascadeClassifier(r'D:Program Files (x86)Anaconda3pkgslibopencv-3.4.1-h875b8b8_3Libraryetchaarcascadeshaarcascade_frontalface_alt.xml') # 導入人臉模型

cv2.namedWindow('攝像頭') # 獲取攝像頭畫面

while True:

ret, frame = capture.read() # 讀取視頻圖片

gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY) # 灰度

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

for (x, y, w, h) in faces: # 5個參數,一個參數圖片 ,2 坐標原點,3 識別大小,4,顏色5,線寬

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

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

if cv2.waitKey(5) & 0xFF == ord('q'):

break

capture.release() # 釋放資源

cv2.destroyAllWindows() # 關閉窗口

opencv中人臉檢測使用的是 detectMultiScale函數,小編使用手機播放一段視頻,截取了幾張人臉檢測的圖片

detectMultiScale(

const Mat& image,

CV_OUT vector& objects,

double scaleFactor = 1.1,

int minNeighbors = 3,

int flags = 0,

Size minSize = Size(),

Size maxSize = Size()

);

識別視頻中的人臉

函數介紹:

參數1:image--待檢測圖片,一般為灰度圖像加快檢測速度;

參數2:objects--被檢測物體的矩形框向量組;

參數3:scaleFactor--表示在前后兩次相繼的掃描中,搜索窗口的比例系數。默認為1.1即每次搜索窗口依次擴大10%;

參數4:minNeighbors--表示構成檢測目標的相鄰矩形的最小個數(默認為3個)。

如果組成檢測目標的小矩形的個數和小于 min_neighbors - 1 都會被排除。

如果min_neighbors 為 0, 則函數不做任何操作就返回所有的被檢候選矩形框,

這種設定值一般用在用戶自定義對檢測結果的組合程序上;

參數5:flags--要么使用默認值,要么使用CV_HAAR_DO_CANNY_PRUNING,如果設置為

CV_HAAR_DO_CANNY_PRUNING,那么函數將會使用Canny邊緣檢測來排除邊緣過多或過少的區域,

因此這些區域通常不會是人臉所在區域;

參數6、7:minSize和maxSize用來限制得到的目標區域的范圍。

識別視頻中的人臉

OpenCV作為對象檢測的第三方庫,其強大之處在于對象的檢測,Dlib出現后,由于在人臉檢測方面的準確度,得到了大家了認可,下期我們分享一下,如何使用Dlib來進行人臉的檢測

使用dlib檢測的68個特征點

總結

以上是生活随笔為你收集整理的opencv 人脸识别_人工智能-OpenCV+Python实现人脸识别(视频人脸检测)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。