提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
目錄
前言
一、檢測圖片中的人臉
二、檢測視頻與攝像頭中的人臉
總結(jié)
前言
人臉檢測識別一直是個熱門的研究問題,同時也是opencv中一個實(shí)現(xiàn)相對容易的課題。
OpenCV自帶了函數(shù)detectMultiScale()可以實(shí)現(xiàn)對行人和人臉的檢測,實(shí)現(xiàn)簡單,但識別效果相對較差。
在opencv源代碼的副本中會有一個文件夾data/haarcascades,該文件夾包括了所有opencv的人臉檢測的xml文件,這些文件可用于檢測靜止圖像,視頻和攝像頭所得到圖像中的人臉。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、檢測圖片中的人臉
import cv2
def face_detect_demo():
# gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
face_detect = cv2.CascadeClassifier("D:/anaconda/envs/pytorch/Lib/site-packages/cv2/data/haarcascade_frontalface_alt2.xml")
faces = face_detect.detectMultiScale(src)
for x, y, w, h in faces:
cv2.rectangle(src, (x, y), (x+w, y+h), (0, 0, 255), 2)
cv2.imshow("face_detect", src)
src = cv2.imread("D:/opencvdata/1.jpg") #讀取圖片位置
cv2.imshow("input image", src)
face_detect_demo()
cv2.waitKey(0)
cv2.destroyAllWindows()
二、檢測視頻與攝像頭中的人臉
import cv2
# 人臉檢測函數(shù):
# useCamera參數(shù):True表示使用攝像頭,F(xiàn)alse表示讀取當(dāng)前目錄下視頻文件
def face_detection(useCamera=False):
# 1.調(diào)用攝像頭或者使用讀取視頻
cv2.namedWindow("CaptureFace")
if useCamera == True:
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
else:
cap = cv2.VideoCapture('D:/opencvdata/video1.mp4')
# 2.人臉識別器分類器
classfier = cv2.CascadeClassifier('D:/anaconda/envs/pytorch/Lib/site-packages/cv2/data/haarcascade_frontalface_alt2.xml')
color = (0, 255, 0)
while cap.isOpened():
flag, frame = cap.read()
frame = cv2.flip(frame, 1) # 鏡像操作
if not flag:
break
# 3.灰度轉(zhuǎn)換
grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 4.人臉檢測,1.2和2分別為圖片縮放比例和需要檢測的有效點(diǎn)數(shù)
facerects = classfier.detectMultiScale(grey, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))
if len(facerects) > 0: # 大于0則檢測到人臉
for faceRect in facerects: # 單獨(dú)框出每一張人臉
x, y, w, h = faceRect
# 5.畫圖
cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), color, 3)
cv2.imshow("CaptureFace", frame)
if cv2.waitKey(10) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
face_detection() # 使用攝像頭
face_detection(useCamera=False) # 使用視頻
?后續(xù)會為大家?guī)?基于dlib的人臉檢測? 效果會好很多文章來源:http://www.zghlxwxcb.cn/news/detail-545463.html
總結(jié)
提示:這里對文章進(jìn)行總結(jié):
例如:以上就是今天要講的內(nèi)容,本文僅僅簡單介紹了pandas的使用,而pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。文章來源地址http://www.zghlxwxcb.cn/news/detail-545463.html
到了這里,關(guān)于基于opencv的人臉檢測(圖片、視頻、攝像頭)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!