OpenCV python 人臉檢測

2021-09-24 06:14:49 字數 1537 閱讀 5653

1,人臉檢測簡介

人臉檢測的模型主要有兩類,一類是知識模型,根據眼睛、嘴、鼻子的相對位置或面部不同部位的顏色深度差異來檢測人臉,另一類是統計模型,把海量的人臉資料轉換成二維畫素矩陣,從統計的觀點出發構建人臉模式空間判斷人臉是否存在。

2,特徵資料

在搜尋「github opencv」,在「opencv/data/haarcascades」目錄下可以看到各種各樣的特徵分類器(xml檔案),從檔名上可以輕易區分出分類器的用途,如「haarcascadesfrontalface_default.xml」是臉部正面特徵分類器。

源**示例:

import cv2 as cv

import numpy as np

def face_detect_demo(image):

gray = cv.cvtcolor(image, cv.color_bgr2gray)#轉化為灰度圖

face_detector = cv.cascadeclassifier("f:/images/haarcascade_frontalface_alt_tree.xml")

#利用級聯檢測器載入特徵資料

faces = face_detector.detectmultiscale(gray, 1.02, 5)

for x, y, w, h in faces:

cv.rectangle(image, (x, y), (x+w, y+h), (0, 0, 255), 2)

cv.imshow("result", image)

#cv.cv.waitkey(10)

src = cv.imread("f:/images/lena.png")

cv.namedwindow("input image", cv.window_autosize)

"""cv.namedwindow("result", cv.window_autosize)

capture = cv.videocapture(0)

cv.namedwindow("result", cv.window_autosize)

while(true):

ret, frame = capture.read()

frame = cv.flip(frame, 1)

face_detect_demo(frame)

c = cv.waitkey(10)

if c == 27: # esc

break

"""cv.imshow("input image", src)

face_detect_demo(src)

cv.waitkey(0)

cv.destroyallwindows()

執行結果:

OpenCV Python 人臉檢測

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!例項總結 下午的時候,配好了opencv的python環境,opencv的python環境搭建。於是迫不及待的想體驗一下opencv的人臉識別,如下文。haar like百科釋義。通俗的來講,就是作為人臉特徵即可。haar特徵值反映了影象的灰度變化...

Opencv python 人臉檢測

import numpy as np import cv2 as cv cv.namedwindow face detected cap cv.videocapture 0 success,frame cap.read 載入opencv識別器 face cascade cv.cascadeclass...

OpenCV Python 實現人臉識別

參考 1 2 haar特徵值反映了影象的灰度變化情況。例如 臉部的一些特徵能由矩形特徵簡單的描述,如 眼睛要比臉頰顏色要深,鼻樑兩側比鼻樑顏色要深,嘴巴比周圍顏色要深等。import cv2 image cv2.imread imagepath import cv2 gray cv2.cvtcolo...