日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

基于OpenCV的简单人脸识别系统

發布時間:2024/9/20 windows 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于OpenCV的简单人脸识别系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

    • 1. 調用庫函數
    • 2. 調用攝像頭并設置窗口
    • 3. 設置圖片正負樣本數據集的路徑
    • 4. 調用人臉檢測器
    • 5. 正負樣本載入
    • 6.提取人臉區域
    • 7. 建立LBPH人臉識別模型
    • 8. 實時檢測
    • 9. 測試結果
    • 10. 不足之處
    • 11. 改進方法


聲明:本程序基于Python的OpenCV模塊編程,利用opencv已有的人臉檢測器和人臉識別器進行實時人臉識別

?

1. 調用庫函數

import cv2 import numpy as np
  • 1
  • 2

2. 調用攝像頭并設置窗口

frameWidth = 640 frameHeight = 480 cap = cv2.VideoCapture(0) cap.set(3, frameWidth) #設置參數,10為亮度 cap.set(4, frameHeight) cap.set(10,150)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3. 設置圖片正負樣本數據集的路徑

pos_path = './resource/face_detect/video2imagem3/' neg_path = './resource/face_detect/video2imagec1/' test_path = './resource/face/' images = [] labels = []
  • 1
  • 2
  • 3
  • 4
  • 5

4. 調用人臉檢測器

注:人臉識別器在安裝opencv庫的時候就一塊安裝了,在opencv的安裝路徑下可以找到。

faceCascade = cv2.CascadeClassifier("resource/haarcascade_frontalface_default.xml")
  • 1

5. 正負樣本載入

由于本數據集人臉數據是通過程序處理視頻獲得的,因此,便于批量導入程序中。

正樣本(人臉)與負樣本(環境)比例大致為1:3,據說這樣比例效果較好;標簽為0,1。
導入語句如下:

for i in range(60): # 正樣本images.append(cv2.imread(pos_path+str(2*(i+1))+'.jpg',cv2.IMREAD_GRAYSCALE))labels.append(0)for i in range(173): # 負樣本images.append(cv2.imread(neg_path+str(2*(i+1))+'.jpg',cv2.IMREAD_GRAYSCALE))labels.append(1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

6.提取人臉區域

這里對于沒檢測到人臉區域的圖片不進行處理,對于人臉區域,將其周圍20像素左右部分提取出來

def processing(imageslist):for j in range(len(imageslist)):faces = faceCascade.detectMultiScale(imageslist[j], 1.1, 4)for x,y,w,h in faces:if x >= 20 and y >= 20: # 未處理沒檢測到人臉的情況imageslist[j] = imageslist[j][y-20:y+h+20, x-20:x+w+20]return imageslist
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

7. 建立LBPH人臉識別模型

這里采用LBPH人臉識別模塊,因為這種方法不需要圖片數據集為統一尺寸,EigenFaces和Fisherfaces模塊均需要訓練集圖片和測試的圖片尺寸保持一致。

imagesCopy = images # 提取圖像中人臉的區域 imagesCopy = processing(imagesCopy) recognizer = cv2.face.LBPHFaceRecognizer_create() recognizer.train(imagesCopy, np.array(labels))
  • 1
  • 2
  • 3
  • 4
  • 5

8. 實時檢測

人臉檢測中,如果未檢測到人臉,則face返回的是空元組,檢測到人臉后,提取出人臉區域,采用recognizer.predict進行識別,對于返回值的confidence,小于50認為結果可靠,而大于80則認為差別較大。

while True:success,img = cap.read()predict_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)face = faceCascade.detectMultiScale(predict_image, 1.1, 4)# print(face) # 空的元組有可能if face != ():for x, y, w, h in face:if x >= 20 and y >= 20:faceArea = predict_image[y-20:y+h+20, x-20:x+w+20]cv2.rectangle(img, (x,y), (x+w,y+h), (0,255,0), 1)label, confidence = recognizer.predict(faceArea)if confidence <= 80 and label == 0:cv2.putText(img, "LQL",(x, y-20), cv2.FONT_HERSHEY_COMPLEX, 1,(255,0,0,1))print("YOU ARE LQL")else:cv2.putText(img, "OTHERS", (x, y-20), cv2.FONT_HERSHEY_COMPLEX, 1,(255,0,0),1)print("OTHERS")print(confidence)print(label)else:cv2.putText(img, "None", (320, 240), cv2.FONT_HERSHEY_COMPLEX, 1, (255, 0, 255), 1)print("None")cv2.imshow("img", img)if cv2.waitKey(1) & 0xFF == ord('q'):break
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

9. 測試結果

能夠基本實現特定人臉識別的功能。

10. 不足之處

  • 未將訓練部分與檢測部分分開,導致每次都要重新訓練,消耗一定的時間,目前只做了一種人臉識別;–已解決
  • 由于數據是從視頻中導出的圖片,因此對于訓練集中可能存在的未檢測到人臉的情況也未作處理;
  • 沒有將所有的圖片尺寸resize為統一尺寸,因此只能用LBPH模塊進行人臉識別,不過,在另一方面,用cv2.resize可能會存在畫面比例失衡的問題,損失訓練效果;
  • 另外,對于負樣本,只用了背景圖片,后續可以試試物體之類的。
    總之,目前只是實現了一個簡單的實時人臉識別功能,后續有時間再改進。
  • 11. 改進方法

  • 下列語句可以對訓練好的模型進行保存和讀取,因此可以將訓練部分與識別部分分隔開
  • recognizer = cv2.face.LBPHFaceRecognizer_create()recognizer.save('./resource/face_detect/MyFaceModel.xml') recognizer.read('./resource/face_detect/MyFaceModel.xml')

    總結

    以上是生活随笔為你收集整理的基于OpenCV的简单人脸识别系统的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 91资源在线播放 | 一级国产黄色片 | av综合一区 | 全部免费毛片在线播放 | 国产女人18毛片水18精品 | 放几个免费的毛片出来看 | 你懂的在线免费观看 | 欧美日韩视频一区二区 | 天天干天天操心 | 精品久久久视频 | 日本熟妇一区二区三区四区 | 久久久久久久影院 | 日韩色吧 | 亚洲啪啪网址 | www.五月天激情 | 天堂精品一区二区三区 | 久草视频免费 | 91激情影院| 国产精品wwww | 欧美亚洲精品在线观看 | 成人一级黄色片 | bt男人天堂 | 成人动漫在线观看视频 | 国产人妻黑人一区二区三区 | 亚洲欲色 | 欧美日韩一区二区三 | 老色鬼在线 | 午夜激情视频在线 | av中文字幕网站 | 影音先锋亚洲资源 | 国产精品又黄又爽又色无遮挡 | 插骚 | 中文字幕在线2019 | 中文字幕久久熟女蜜桃 | 男女日批免费视频 | heyzo久久 | 国产欧美日韩在线视频 | 欧美大片在线看免费观看 | 丰满肥臀噗嗤啊x99av | 欧美日韩亚洲综合 | 欧美国产日韩综合 | 女女av在线 | 亚洲欧洲中文 | 操网站| 摸丰满大乳奶水www免费 | 日韩av在线播放网址 | 久久精品国产亚洲av麻豆图片 | 亚洲国产视频在线观看 | 专干中国老太婆hd | 夜夜噜噜噜 | 人人看人人艹 | 国产午夜伦鲁鲁 | 91av在线视频播放 | √天堂8资源中文在线 | 欧美草比视频 | 国产精品九九九 | 97插插插| 日日干天天射 | 色悠悠视频 | 日韩精品久久久久久久电影99爱 | 动漫一区二区 | 欧美精品 日韩 | 亚洲一区二区三区人妻 | 手机在线免费看av | 久草视频免费 | 韩国三级黄色 | 亚洲免费一区视频 | 亚洲黄色片子 | 国产xxxxwwww| 女人免费视频 | 护士的小嫩嫩好紧好爽 | 国产精美视频 | 黑人巨大精品欧美一区二区蜜桃 | 视频毛片 | 日韩大片一区 | 色九九视频 | 精品久久精品久久 | 91亚洲精华国产精华精华液 | 国产精品尤物视频 | 91video| 欧美熟妇7777一区二区 | 五月天亚洲色图 | 亚洲国产一二 | 青青操视频在线观看 | 中韩毛片 | 欧美日韩精品二区 | 成人免费一级片 | 成人精品在线 | 久久精品这里有 | 亚洲综合在线第一页 | 日韩欧美在线一区 | 思思久久99 | 国产电影免费观看高清完整版视频 | 伊人影院久久 | 日韩精品一区二区在线看 | 国产精品一区二区小说 | 日韩aaa | 亚洲a v网站| 精品免费av|