AI人工智能 人臉檢測(cè)

2020-09-24 13:41 更新

人臉檢測(cè)是計(jì)算機(jī)視覺(jué)的令人著迷的應(yīng)用之一,它使其更加逼真。 OpenCV 有一個(gè)內(nèi)置的工具來(lái)執(zhí)行人臉檢測(cè)。 我們將使用 Haar 級(jí)聯(lián)分類器進(jìn)行人臉檢測(cè)。

Haar 級(jí)聯(lián)數(shù)據(jù)

我們需要數(shù)據(jù)來(lái)使用 Haar 級(jí)聯(lián)分類器。 可以在我們的 OpenCV 包中找到這些數(shù)據(jù)。 安裝 OpenCv 后,有一個(gè)文件夾名稱 haarcascades。 將有不同應(yīng)用程序的 .xml 文件。 現(xiàn)在,將它們?nèi)繌?fù)制以供不同的使用,然后粘貼到當(dāng)前項(xiàng)目下的新文件夾中。

示例

以下是使用 Haar 級(jí)聯(lián)檢測(cè)下圖中顯示的 Amitabh Bachan 的面部的 Python 代碼 -

img

如下所示導(dǎo)入 OpenCV 包 -

import cv2
import numpy as np

現(xiàn)在,使用 HaarCascadeClassifier 來(lái)檢測(cè)臉部 -

face_detection=
cv2.CascadeClassifier('D:/ProgramData/cascadeclassifier/
haarcascade_frontalface_default.xml')

使用 imread() 函數(shù)讀取一個(gè)指定的圖像,

img = cv2.imread('AB.jpg')

將其轉(zhuǎn)換為灰度,因?yàn)樗鼤?huì)接受灰色圖像 -

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

接下來(lái),使用 face_detection.detectMultiScale,執(zhí)行實(shí)際的人臉檢測(cè)

faces = face_detection.detectMultiScale(gray, 1.3, 5)

圍繞整個(gè)臉部繪制一個(gè)矩形 -

for (x,y,w,h) in faces:
   img = cv2.rectangle(img,(x,y),(x+w, y+h),(255,0,0),3)
cv2.imwrite('Face_AB.jpg',img)

如圖所示,這個(gè) Python 程序?qū)?chuàng)建一個(gè)名為 Face_AB.jpg 的圖像,它包含人臉檢測(cè) -

img

眼睛檢測(cè)

眼睛檢測(cè)是計(jì)算機(jī)視覺(jué)的另一個(gè)引人注目的應(yīng)用,使其更加逼真和未來(lái)。 OpenCV 有一個(gè)內(nèi)置的工具來(lái)執(zhí)行眼睛檢測(cè)。 我們將使用 Haar 級(jí)聯(lián)分類器進(jìn)行眼睛檢測(cè)。

示例 以下示例給出了使用 Haar 級(jí)聯(lián)的 Python 代碼來(lái)檢測(cè)下圖中給出的 Amitabh Bachan 的面部 -

img

如下所示導(dǎo)入 OpenCV 包 -

import cv2
import numpy as np

使用 HaarCascadeClassifier 檢測(cè)臉部 -

eye_cascade = cv2.CascadeClassifier('D:/ProgramData/cascadeclassifier/haarcascade_eye.xml')

使用 imread()函數(shù)讀取指定圖像 -

img = cv2.imread('AB_Eye.jpg')

然后,將其轉(zhuǎn)換為灰度,因?yàn)樗鼤?huì)接受灰色圖像 -

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

使用 eye_cascade.detectMultiScale ,執(zhí)行實(shí)際的人臉檢測(cè) -

eyes = eye_cascade.detectMultiScale(gray, 1.03, 5)

現(xiàn)在,圍繞整個(gè)臉部繪制一個(gè)矩形 -

for (ex,ey,ew,eh) in eyes:
   img = cv2.rectangle(img,(ex,ey),(ex+ew, ey+eh),(0,255,0),2)
cv2.imwrite('Eye_AB.jpg',img)

這個(gè) Python 程序?qū)?chuàng)建一個(gè)名為 Eye_AB.jpg 的圖像,如圖所示,

img

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)