国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python+opencv實(shí)現(xiàn)的簡單人臉識(shí)別代碼示例

2020-01-04 16:23:45
字體:
供稿:網(wǎng)友

#
源碼如下:

#!/usr/bin/env python/265854.html">python#coding=utf-8import osfrom PIL import Image, ImageDrawimport cvdef detect_object(image): '''檢測圖片,獲取人臉在圖片中的坐標(biāo)''' 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 resultdef process(infile): '''在原圖上框出頭像并且截取每個(gè)頭像到單獨(dú)文件夾''' 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" % infileif __name__ == "__main__": process("/Users/zhangdebin/Documents/checkFace2.jpg")

示例圖片1:

python,opencv3,人臉,圖像識(shí)別opencv,opencv,人臉識(shí)別,圖像識(shí)別

可以看出,對(duì)于比較干凈的人臉頭像,使用opencv庫haarcascade_frontalface_alt_tree.xml的識(shí)別精度很高(這張達(dá)到了100%),同時(shí),對(duì)于表情變化的人臉也有很強(qiáng)的魯棒性。

示例圖片2:

python,opencv3,人臉,圖像識(shí)別opencv,opencv,人臉識(shí)別,圖像識(shí)別

但是,對(duì)于上傳的比較隨意的頭像照片,比如示例圖片2這些有帽子、眼鏡遮擋的人臉圖片,識(shí)別效果就會(huì)很差,本組只有唯一一個(gè)沒有帽子遮擋的人臉被識(shí)別成功

本次只是簡單的測試了下,python使用opencv庫的人臉特征進(jìn)行人臉識(shí)別的效果,僅供初學(xué)參考。

總結(jié)

以上就是本文關(guān)于python+opencv實(shí)現(xiàn)的簡單人臉識(shí)別代碼示例的全部內(nèi)容,希望對(duì)大家有所幫助


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到python教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东乡县| 滨州市| 柳江县| 通江县| 桦甸市| 乐平市| 塘沽区| 那坡县| 紫云| 乐昌市| 双柏县| 贵南县| 铜山县| 南昌市| 阿拉善盟| 兴化市| 兴和县| 江源县| 伽师县| 疏勒县| 乐安县| 延庆县| 双柏县| 页游| 墨竹工卡县| 淳化县| 余干县| 东阳市| 沂源县| 松滋市| 望都县| 巴马| 通州区| 蓝田县| 浙江省| 永平县| 海晏县| 方山县| 肇州县| 定日县| 承德市|