目錄
第1關(guān):圖片基本操作
第2關(guān):色彩空間及其轉(zhuǎn)換
第3關(guān):基于Harr特征的人臉檢測分類器文章來源:http://www.zghlxwxcb.cn/news/detail-743740.html
第4關(guān):繪制人臉與人眼區(qū)域文章來源地址http://www.zghlxwxcb.cn/news/detail-743740.html
第1關(guān):圖片基本操作
'''****************BEGIN****************'''
# 導(dǎo)入OpenCV庫
import cv2
'''**************** END ****************'''
# 原始圖片路徑
image_path = 'step1/image/girl.jpg'
# 保存圖片路徑
save_image_path = 'step1/out/girl-new.jpg'
'''****************BEGIN****************'''
# 讀取圖片并保存圖片
img = cv2.imread(image_path,0)
cv2.imwrite(save_image_path,img)
'''**************** END ****************'''
第2關(guān):色彩空間及其轉(zhuǎn)換
import cv2
# 加載圖片
filename = "step2/image/girl.jpg"
img = cv2.imread(filename)
'''****************BEGIN****************'''
# 將圖片的色彩空間由BGR轉(zhuǎn)換GRAY
output_img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
'''**************** END ****************'''
save_image_path = "step2/out/girl-gray.jpg"
'''****************BEGIN****************'''
# 保存圖片
cv2.imwrite(save_image_path,output_img)
'''**************** END ****************'''
第3關(guān):基于Harr特征的人臉檢測分類器
import numpy as np
import cv2
'''****************BEGIN****************'''
# 讀取圖片
image_path = 'step3/image/face.jpg'
img = cv2.imread(image_path)
# 轉(zhuǎn)換為灰度圖片
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 人臉檢測器
modle_path = 'sample/data/haarcascades/haarcascade_frontalface_default.xml'
face_cascade = cv2.CascadeClassifier(modle_path)
# 識別人臉
faces = face_cascade.detectMultiScale(gray_img, 1.3, 5)
'''**************** END ****************'''
print(faces)
第4關(guān):繪制人臉與人眼區(qū)域
import cv2
# 讀取圖片
img = cv2.imread('step4/image/girl.jpg')
# 轉(zhuǎn)換為灰階圖片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 人臉檢測器
face_cascade = cv2.CascadeClassifier('sample/data/haarcascades/haarcascade_frontalface_default.xml')
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
# 繪制人臉區(qū)域
for (x,y,w,h) in faces:
print(x,y,w,h)
'''****************BEGIN****************'''
# 在人臉區(qū)域添加矩形框
cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),2)
face_grays = gray[y:y+h, x:x+w]
face_areas=img[y:y+h,x:x+w]
'''**************** END ****************'''
#繪制眼睛區(qū)域
path_of_haarcascade_eye = "sample/data/haarcascades/haarcascade_eye.xml"
eye_cascade = cv2.CascadeClassifier(path_of_haarcascade_eye)
eyes = eye_cascade.detectMultiScale(face_grays)
'''****************BEGIN****************'''
for (ex,ey,ew,eh) in eyes:
print(ex,ey,ew,eh)
# 在眼睛區(qū)域添加矩形框
cv2.rectangle(img,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
'''**************** END ****************'''
# 保存圖片
save_image_path = "step4/out/girl-drawing.jpg"
cv2.imwrite(save_image_path,img)
到了這里,關(guān)于頭歌--人臉識別系統(tǒng)--OpenCV人臉檢測的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!