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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

人脸识别项目代码

發布時間:2023/12/9 pytorch 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 人脸识别项目代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目代碼

1.拍照程序

import cv2 #攝像頭 cap = cv2.VideoCapture(0) falg = 1 num = 1 #拍照程序,按下鍵盤的s進行照片保存,圖片默認保存名稱是id.huang.jpg # 檢測是否在開啟狀態 while(cap.isOpened()):# 得到每幀圖像ret_flag, Vshow = cap.read()cv2.imshow("Capture_Test", Vshow)# 顯示圖像k = cv2.waitKey(1) & 0xFF# 按鍵判斷if k == ord('s'):# 鍵盤按下s鍵即保存#里面的huang代表姓名,可自行修改cv2.imwrite(str(num)+".huang"+".jpg", Vshow)print("success to save"+str(num)+".jpg")print("-------------------")num += 1elif k == ord(' '):#退出break # 釋放攝像頭 cap.release() # 釋放內存 cv2.destroyAllWindows()

2.錄制視頻程序

# -*-coding:utf-8-*- import datetime import time import cv2 import oscam = cv2.VideoCapture(0) time_now = time.time() os.makedirs('capture', exist_ok=True) fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') video_out = None #錄制視頻程序:每10秒自動錄制一個10秒左右的視頻,視頻格式.mp4,mp4的文件名稱格式為時間搓.mp4 while True:ret, frame = cam.read()if video_out:video_out.write(frame)cv2.imshow("Video", frame)cv2.waitKey(1)if video_out is None or time.time() - time_now > 10:if video_out:print("save", video_path)video_out.release()video_out = Nonetime_str = datetime.datetime.now().strftime('%Y%m%d%H%M%S')video_path = time_str + '.mp4'video_out = cv2.VideoWriter(video_path, fourcc, 30.0, (640, 480))time_now = time.time()

3.人臉數據錄入程序

import os import cv2 import sys from PIL import Image import numpy as np #函數功能:通過LBPHF識別器把面部和身份信息綁定 def getImageAndLabels(path):#保存人臉特征數據的數組facesSamples=[]#存儲人的基本信息,id和nameids=[]#儲存圖片信息imagePaths=[os.path.join(path,f) for f in os.listdir(path)]#加載分類器檢測人臉face_detector = cv2.CascadeClassifier('haarcascade_frontalface_alt2.xml')#打印數組imagePathsprint('數據排列:',imagePaths)#將保存的全部圖片一一進行遍歷將身份信息一一保存起來for imagePath in imagePaths:#打開圖片,PIL的L打開方式指明圖片是灰度圖像,每一個像素點從0到255的信息保存在PIL_imgPIL_img=Image.open(imagePath).convert('L')#將轉換為灰度數的圖片向量化,轉成能讓計算機讀懂,將每一個像素點變成一個數值,保存在 img_numpyimg_numpy=np.array(PIL_img, 'uint8')#通過face_detector人臉檢測分類器獲取圖片人臉特征到數組face里面faces = face_detector.detectMultiScale(img_numpy)#通過圖片的文件名獲取身份信息,包括id和nameid = int(os.path.split(imagePath)[1].split('.')[0])#將id,name和for x,y,w,h in faces:ids.append(id)facesSamples.append(img_numpy[y:y+h,x:x+w])#打印臉部特征和idprint('fs:', facesSamples)print('id:', id) # print('fs:', facesSamples[id])print('fs:', facesSamples)print('臉部例子:',facesSamples[0])print('身份信息:',ids[0])return facesSamples,ids#人的面部信息保存在data/jm文件下的圖片,身份信息是文件名稱 #程序3功能:將人的面部信息和人的身份信息進行一一綁定,生成trainer/trainer.yml文件 if __name__ == '__main__':path='./data/jm/'#獲取圖像數組和id標簽數組和姓名faces,ids=getImageAndLabels(path)#通過加載LBPHF識別器把面部和身份信息通過訓練整合在一起recognizer=cv2.face.LBPHFaceRecognizer_create()recognizer.train(faces, np.array(ids))#將最后整合的信息保存到一個yml文件里recognizer.write('trainer/trainer.yml')4.測試程序 import cv2 import os #加載訓練數據集文件 recogizer=cv2.face.LBPHFaceRecognizer_create() recogizer.read('trainer/trainer.yml') #保存身份信息的名字 names=[] warningtime = 0#準備識別的圖片 def face_detect_demo(img):gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#將導入的圖片灰度化face_detector=cv2.CascadeClassifier('haarcascade_frontalface_alt2.xml')#畫個框face=face_detector.detectMultiScale(gray,1.1,5,cv2.CASCADE_SCALE_IMAGE,(100,100),(300,300))for x,y,w,h in face:cv2.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)cv2.circle(img,center=(x+w//2,y+h//2),radius=w//2,color=(0,255,0),thickness=1)# 人臉識別評分,如果分比較高說明不可信,warningtime變量+1#當warningtime變量加到一定程度人認為不是我們所錄入的人員ids, confidence = recogizer.predict(gray[y:y + h, x:x + w])if confidence > 80:global warningtimewarningtime += 1if warningtime > 100:warningtime = 0#不是錄入人員在輸出視頻中顯示unKonwcv2.putText(img, 'unkonw', (x + 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 255, 0), 1)else:#檢測到為錄入人員,在視頻中顯示錄入人員的姓名cv2.putText(img,str(names[ids-1]), (x + 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 255, 0), 1)cv2.imshow('result',img)def name():path = './data/jm/'imagePaths=[os.path.join(path,f) for f in os.listdir(path)]for imagePath in imagePaths:name = str(os.path.split(imagePath)[1].split('.',2)[1])names.append(name)#讀入根目錄下的1.mp4文件進行人臉錄入 cap=cv2.VideoCapture('1.mp4') name() while True:flag,frame=cap.read()if not flag:breakface_detect_demo(frame)if ord(' ') == cv2.waitKey(10):break cv2.destroyAllWindows() cap.release()

總結

以上是生活随笔為你收集整理的人脸识别项目代码的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久人人爽爽人人爽人人片av | 内射后入在线观看一区 | 日日摸夜夜 | 97超碰伊人| 色老板精品凹凸在线视频观看 | 精品看片| 国产精品suv一区二区三区 | 最新日韩av| 久久国产欧美日韩精品 | 亚洲精品乱码久久久久久麻豆不卡 | 国产乱欲视频 | 国产午夜精品一区二区理论影院 | 亚洲情在线 | 成人黄色免费网 | 欧美精品色图 | 九九热国产视频 | 国产精品久久999 | 国产高清免费视频 | 午夜视频一区二区三区 | 黄色视屏在线播放 | 久久久久久1 | 包射屋| 精品网站999www | 欧美日韩一区二区在线观看 | 天天色棕合合合合合合合 | 999zyz玖玖资源站永久 | 一区二区蜜桃 | yjizz视频| 久久er99热精品一区二区 | 欧美视频亚洲 | 四级黄色片 | 亚洲一区二区三区在线免费观看 | 人妻无码一区二区三区久久 | 色呦呦在线观看视频 | 国产精品久久影院 | 免费日韩| 国产一级做a爰片久久毛片男 | 欧美一区二区三区免费观看 | 亚洲国内自拍 | 久久9久久 | 黄色无毒网站 | 国产5区 | 久久久久综合网 | 丝袜国产在线 | 天天插天天狠天天透 | 日韩a级片在线观看 | 看91 | 日本久久网站 | 欧美成人国产精品高潮 | 日本爽爽爽爽爽爽在线观看免 | 日韩亚洲欧美在线 | 国产美女一级片 | 欧美天堂在线视频 | 国产福利资源 | 性折磨bdsm欧美激情另类 | 久草视频这里只有精品 | 欧美人与动物xxxxx | 欧美日韩一区二区三区不卡 | 日本丰满熟妇hd | 国产视频日本 | 在线观看国产欧美 | 毛片基地免费观看 | 99久久精品免费 | 久久精品国产亚洲AV成人雅虎 | 91漂亮少妇露脸在线播放 | 浴室里强摁做开腿呻吟男男 | 欧美精品小视频 | 国产一区二区在线视频观看 | 久综合 | 福利视频一区二区 | 日韩精品导航 | 国产精品888 | 91网站在线免费看 | 国产精品久久久午夜夜伦鲁鲁 | 欧美一级黄色片在线观看 | 九一爱爱| 色婷婷香蕉在线一区二区 | 91蜜桃网 | 亚洲一区免费视频 | 老司机激情视频 | 色综合视频在线观看 | 欧美乱码精品一区二区 | 婷婷综合网站 | 国产三级精品视频 | 成人免费视频免费观看 | 日本一区高清 | 久久久久久午夜 | 极品国产91在线网站 | 国产免费视屏 | av解说在线观看 | 国产成人综合久久 | 邻居校草天天肉我h1v1 | 国产av一区二区不卡 | 欧美精品在线视频观看 | 日韩福利视频 | 免费看av毛片 | 一二三不卡 | 久久密桃 | 男生操女生在线观看 |