python+opencv實現(xiàn)的簡單人臉識別代碼示例
#
源碼如下:
#!/usr/bin/env python
#coding=utf-8
import os
from PIL import Image, ImageDraw
import cv
def detect_object(image):
'''檢測圖片,獲取人臉在圖片中的坐標'''
grayscale = cv.CreateImage((image.width, image.height), 8, 1)
cv.CvtColor(image, grayscale, cv.CV_BGR2GRAY)
cascade = cv.Load("/opt/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt_tree.xml")
rect = cv.HaarDetectObjects(grayscale, cascade, cv.CreateMemStorage(), 1.1, 2,
cv.CV_HAAR_DO_CANNY_PRUNING, (20,20))
result = []
for r in rect:
result.append((r[0][0], r[0][1], r[0][0]+r[0][2], r[0][1]+r[0][3]))
return result
def process(infile):
'''在原圖上框出頭像并且截取每個頭像到單獨文件夾'''
image = cv.LoadImage(infile);
if image:
faces = detect_object(image)
im = Image.open(infile)
path = os.path.abspath(infile)
save_path = os.path.splitext(path)[0]+"_face"
try:
os.mkdir(save_path)
except:
pass
if faces:
draw = ImageDraw.Draw(im)
count = 0
for f in faces:
count += 1
draw.rectangle(f, outline=(255, 0, 0))
drow_save_path = os.path.join(save_path,"out.jpg")
im.save(drow_save_path, "JPEG", quality=80)
else:
print "Error: cannot detect faces on %s" % infile
if __name__ == "__main__":
process("/Users/zhangdebin/Documents/checkFace2.jpg")
示例圖片1:

可以看出,對于比較干凈的人臉頭像,使用opencv庫haarcascade_frontalface_alt_tree.xml的識別精度很高(這張達到了100%),同時,對于表情變化的人臉也有很強的魯棒性。
示例圖片2:

但是,對于上傳的比較隨意的頭像照片,比如示例圖片2這些有帽子、眼鏡遮擋的人臉圖片,識別效果就會很差,本組只有唯一一個沒有帽子遮擋的人臉被識別成功
本次只是簡單的測試了下,python使用opencv庫的人臉特征進行人臉識別的效果,僅供初學參考。
總結(jié)
以上就是本文關(guān)于python+opencv實現(xiàn)的簡單人臉識別代碼示例的全部內(nèi)容,希望對大家有所幫助,感興趣的朋友可以參閱本站:
如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
- opencv 做人臉識別 opencv 人臉匹配分析
- OPENCV+JAVA實現(xiàn)人臉識別
- java+opencv實現(xiàn)人臉識別功能
- OpenCV Java實現(xiàn)人臉識別和裁剪功能
- 詳解如何用OpenCV + Python 實現(xiàn)人臉識別
- Python基于opencv實現(xiàn)的人臉識別(適合初學者)
- Python opencv實現(xiàn)人眼/人臉識別以及實時打碼處理
- 結(jié)合OpenCV與TensorFlow進行人臉識別的實現(xiàn)
- 基于python3 OpenCV3實現(xiàn)靜態(tài)圖片人臉識別
- OpenCV實現(xiàn)人臉識別
- 用OpenCV和Python進行人臉識別實戰(zhàn)
相關(guān)文章
Python Tkinter模塊實現(xiàn)時鐘功能應(yīng)用示例
這篇文章主要介紹了Python Tkinter模塊實現(xiàn)時鐘功能,結(jié)合實例形式分析了Tkinter模塊結(jié)合time模塊實現(xiàn)的時鐘圖形繪制與計時功能相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
python使用openCV遍歷文件夾里所有視頻文件并保存成圖片
這篇文章主要介紹了python使用openCV遍歷文件夾里所有視頻文件并保存成圖片,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧2020-01-01
基于Python+Appium實現(xiàn)京東雙十一自動領(lǐng)金幣功能
一年一度的雙十一即將來臨,各大平臺都在搞活動,京東天貓忙的不易樂乎,做任務(wù)領(lǐng)金幣的過程真的好無聊,今天小編給大家分享一篇教程通關(guān)Python+Appium實現(xiàn)京東雙十一自動領(lǐng)金幣功能,需要的朋友可以參考下2019-10-10

