专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

使用Python和OpenCV进行面部识别应用于监控人脸门禁

  在本文中,我们探索OpenCV和Python在创建强大的人脸识别系统方面的巨大潜力。从而逐步实现识别图像和视频中的人脸的整个过程。凭借清晰的解释和实际示例,希望您深入了解计算机视觉和人脸识别。
  下载OpenCV库
  访问官网进行下载并安装:https:opencv。orgpipinstallopencvpython
  安装完成之后我们可以在文件夹下看到这些文件sourcesdatahaarcascades
  包含了强大的识别算法,如眼睛识别和面部识别人脸检测报警系统(可用于:家庭监控、人脸门禁、人脸考勤等)
  抓拍人脸功能模块。
  首先导入cv库。importcv2
  然后调用我们的摄像头(0代表本地摄像头,其他数字代表外置摄像头)。capcv2。VideoCapture(0)
  使用while循环来确定它是否处于打开状态。while(cap。isOpened()):
  获取每一帧的图像。retflag,Vshowcap。read()
  调用控制键盘函数来控制和确定按键。kcv2。waitKey(1)0xFF
  使用imshow函数显示捕获的图像。cv2。imshow(ceshi,Vshow)
  监听键盘输入,按s键保存。ifkord(s):
  保存捕获图像的格式并打印提示文本。cv2。imwrite(tmpstr(num)。name。jpg,Vshow)print(savestr(num)。jpg)print()num1
  释放摄像头和内存。cap。release()cv2。destroyAllWindows()
  完整的代码片段importcv2capcv2。VideoCapture(0)falg1num1while(cap。isOpened()):retflag,Vshowcap。read()kcv2。waitKey(1)0xFFcv2。imshow(ceshi,Vshow)ifkord(s):cv2。imwrite(tmpstr(num)。name。jpg,Vshow)print(savestr(num)。jpg)print()num1elifkord():breakcap。release()cv2。destroyAllWindows()录人脸功能模块
  在编写这个功能模块之前,我们需要在Pycharm或者cmd中在这个文件的根目录下使用如下命令安装人脸模块pipinstallopencvcontribpython
  导入依赖importosimportcv2fromPILimportImageimportnumpyasnp
  存储人脸数据facesSamples〔〕
  存储名称数据ids〔〕
  存储图片的信息imagePaths〔os。path。join(path,f)forfinos。listdir(path)〕
  加载分类器facecascadecv2。CascadeClassifier(haarcascadefrontalfacedefault。xml)
  遍历图像forimagePathinimagePaths:
  将打开的图像转换为灰度PILimgImage。open(imagePath)。convert(L)
  将图像转换为数组imgnumpynp。array(PILimg,uint8)
  获取图片中的人脸特征facesfacedetector。detectMultiScale(imgnumpy)
  获取每张抓拍图片的id和nameidint(os。path。split(imagePath)〔1〕。split(。)〔0〕)
  防止无脸拍照forx,y,w,hinfaces:ids。append(id)facesSamples。append(imgnumpy〔y:yh,x:xw〕)
  打印面部特征和ID,并返回数据print(id,id)print(fs:,facesSamples)returnfacesSamples,ids
  调用图片路径(步骤1抓脸后按s键保存到tmp路径下的图片)pathtmp
  检索图像数组和ID标签数组和名称faces,idsgetImageAndLabels(path)
  加载识别器recognizercv2。face。LBPHFaceRecognizercreate()
  训练数据recognizer。train(faces,np。array(ids))
  创建一个目录存放读取到的人脸信息recognizer。write(tmptupian。yml)
  完整的代码片段importosimportcv2fromPILimportImageimportnumpyasnpdefgetImageAndLabels(path):facesSamples〔〕ids〔〕imagePaths〔os。path。join(path,f)forfinos。listdir(path)〕facedetectorcv2。CascadeClassifier(opencvinstalledpathsourcesdatahaarcascadeshaarcascadefrontalfacedefault。xml)forimagePathinimagePaths:PILimgImage。open(imagePath)。convert(L)imgnumpynp。array(PILimg,uint8)facesfacedetector。detectMultiScale(imgnumpy)idint(os。path。split(imagePath)〔1〕。split(。)〔0〕)forx,y,w,hinfaces:ids。append(id)facesSamples。append(imgnumpy〔y:yh,x:xw〕)print(id,id)print(fs:,facesSamples)returnfacesSamples,idsifnamemain:pathtmpfaces,idsgetImageAndLabels(path)recognizercv2。face。LBPHFaceRecognizercreate()recognizer。train(faces,np。array(ids))recognizer。write(tmptupian。yml)人脸识别功能模块
  导入依赖importcv2importos
  加载训练好的数据文件recogizercv2。face。LBPHFaceRecognizercreate()
  加载保存的面部信息recogizer。read(tmptupian。yml)
  定义名称数组names〔〕
  定义用于识别的全局变量warningtime0
  视频模块中的人脸识别deffacedetectdemo(img):graycv2。cvtColor(img,cv2。COLORBGR2GRAY)facedetectorcv2。CascadeClassifier(opencvinstalledpathsourcesdatahaarcascadeshaarcascadefrontalfacedefault。xml)facefacedetector。detectMultiScale(gray)forx,y,w,hinface:cv2。rectangle(img,(x,y),(xw,yh),color(0,0,255),thickness2)cv2。circle(img,center(xw2,yh2),radiusw2,color(0,255,0),thickness1)ids,confidencerecogizer。predict(gray〔y:yh,x:xw〕)ifconfidence80:globalwarningtimewarningtime1ifwarningtime100:warning()warningtime0cv2。putText(img,unknown,(x10,y10),cv2。FONTHERSHEYSIMPLEX,0。75,(0,255,0),1)else:cv2。putText(img,str(names〔ids1〕),(x10,y10),cv2。FONTHERSHEYSIMPLEX,0。75,(0,255,0),1)cv2。imshow(result,img)
  导入存储的图像名称标签defname():pathtmpnames〔〕imagePaths〔os。path。join(path,f)forfinos。listdir(path)〕forimagePathinimagePaths:namestr(os。path。split(imagePath)〔1〕。split(。,2)〔1〕)names。append(name)
  加载视频capcv2。VideoCapture(1。mp4)name()whileTrue:flag,framecap。read()ifnotflag:breakfacedetectdemo(frame)iford()cv2。waitKey(10):break
  释放内存和视频cv2。destroyAllWindows()cap。release()
  完整的代码片段importcv2importosrecogizercv2。face。LBPHFaceRecognizercreate()recogizer。read(tupiantupian。yml)names〔〕warningtime0deffacedetectdemo(img):graycv2。cvtColor(img,cv2。COLORBGR2GRAY)facedetectorcv2。CascadeClassifier(opencvinstalledpathsourcesdatahaarcascadeshaarcascadefrontalfacedefault。xml)facefacedetector。detectMultiScale(gray)forx,y,w,hinface:cv2。rectangle(img,(x,y),(xw,yh),color(0,0,255),thickness2)cv2。circle(img,center(xw2,yh2),radiusw2,color(0,255,0),thickness1)ids,confidencerecogizer。predict(gray〔y:yh,x:xw〕)ifconfidence80:globalwarningtimewarningtime1ifwarningtime100:warning()warningtime0cv2。putText(img,unkonw,(x10,y10),cv2。FONTHERSHEYSIMPLEX,0。75,(0,255,0),1)else:cv2。putText(img,str(names〔ids1〕),(x10,y10),cv2。FONTHERSHEYSIMPLEX,0。75,(0,255,0),1)cv2。imshow(result,img)defname():pathtmpnames〔〕imagePaths〔os。path。join(path,f)forfinos。listdir(path)〕forimagePathinimagePaths:namestr(os。path。split(imagePath)〔1〕。split(。,2)〔1〕)names。append(name)capcv2。VideoCapture(1。mp4)name()whileTrue:flag,framecap。read()ifnotflag:breakfacedetectdemo(frame)iford()cv2。waitKey(10):breakcv2。destroyAllWindows()cap。release()
  最后,希望这些示例代码对您的项目有所帮助!

临湘市忠防镇志愿红守护健康绿红网时刻岳阳10月10日讯(通讯员史湘李宇萌)请外省张家界湘西凤凰长沙市岳阳市南湖新区返临人员迅速联系村(社区)报备!随着村村响的广播响彻临湘市忠防镇域上空,又开始了新一轮紧急摸排科技自立自强筑牢国家强盛之基习近平总书记指出立足新发展阶段贯彻新发展理念构建新发展格局推动高质量发展,必须深入实施科教兴国战略人才强国战略创新驱动发展战略,完善国家创新体系,加快建设科技强国,实现高水平科技自湿气脾虚都怕它!这样煮水喝,脾胃强了,湿气没了,正气十足,全身都舒畅有一味常见的中药材,它全身是宝,在中医看来有较好的提升正气延年益寿之效。据说,自幼体弱的北宋文学家苏辙长年服用它,活到了古稀之年在慈禧太后64种养生补益药之中,使用率最高的一味也是寒从脚起,寒露养生务必做好这件事10月8日,是二十四节气中的寒露。寒露节气的到来,意味着天气将从凉爽向寒冷过渡。史书记载斗指寒甲为寒露,斯时露寒而冷,将欲凝结,故名寒露。露气寒冷,将凝结也。意思是此时的气温比白露适合抑郁症患者喝的三杯茶水,帮你缓解压力稳定情绪抑郁症患者别着急,三种茶水分享给你,帮你缓解压力稳定情绪,记得点赞收藏。第一种是百合菊花茶,百合具有清肺止咳清心安神的功效,多喝百合菊花茶有一定的安神作用,可以缓解压力。第二种是玫快速止咳,比吃药更省心更安全!快告诉身边咳嗽的朋友吧每年到这个时候,很多人都会不幸中招生病,感冒咳嗽流鼻涕,问题看似不大,却要花上一笔看病买药钱,关键还折磨身体!今天就来和大家分享治愈系列的神奇食谱,保证你食到病除风寒咳嗽白萝卜蜂蜜新手应该注意的家庭中药煎煮方式唐茗工坊的很多理念和准则深受中医药学营养学的影响,食养观照,便是在中医传统文化中学习总结而来。俗话说得好,三分治疗,七分调养,关于调养的注意事项,从入口的药食同源,到使用的煎煮器具健康的基础健康科普大赛如今的社会中,上至儿童下至老人,都注重健康!第一基石合理膳食内经指出天食人以五气,地食人以五味,五气入鼻藏于心肺,上使五色修明,声音能彰,五味入口藏于肠胃味有所藏以养五口腔溃疡不是病,疼痛难忍要人命!这几个中成药帮你告别口腔溃疡大家好,我是刘医生。口腔溃疡不是病,疼起来却要人命。这句话只有反复口腔溃疡的人,才能有深刻的体会。喝水痛吃饭痛有时候连说话都是疼的,吃完药好几天,过几天又开始反复了。这是为什么呢?金秋十月,饮食建议吃福果福菜福茶,营养富足充沛度秋十月是秋季的黄金时期,所以又叫做金秋十月。随着寒露时节的过去,昼夜温差也随之增大,而且最近的气温似乎真的印证了一场秋雨一场寒,十场秋雨穿棉衣这句老话。不过,在当下我们除了要欣赏金秋为什么生活条件变好了,白癜风复发率却升高?生活条件变好白癜风复发率却升高的原因,当下生活条件已经越来越好,为什么白癜风复发率却越来越高呢?接下来咱们一起来了解一下,究竟是什么样的原因,会造成白斑的生长。生活条件变好白癜风复
美国芯片库存高企,中国芯片出货量快速增长,台积电摊牌了美国的射频芯片模拟芯片企业纷纷传出库存高企而不得不大举降价抛售,另一方面则是中国芯片的出货量在快速增长进而减少了芯片进口,甚至中国芯片的出口量还在快速增长,面对全球芯片市场的变化,自己动手割包皮?一批男的进医院了会绑鞋带就会绑线,会剪指甲就会割包皮。一家售卖包皮环切器的网店客服对医学界说,并且发来了操作视频。如果你信了,你的下一站很可能就是医院。近日,温州医科大学附属第一医院泌尿外科主治医新中国第一大间谍案,两只老鼠让海关起疑心,原子弹机密差点被盗1967年的一天上午,广州白云机场晴空万里,一对外国人夫妻正在接受安全检查,这一切看似如常,可他们一个细小的举动却引起了海关人员的注意。如果说这对夫妻有什么不一样,那一定是他们的行非夫妻同住宾馆违法吗?非夫妻同住宾馆,如果两个人在宾馆里面做出了以下这几件事情,那么肯定是违法的,甚至是犯罪的。如今,宾馆行业在快速的发展,也成为了很多人出差旅游住宿的好地方。与此同时,在宾馆的入住人员独家对话匆匆的青春李佳航反馈有深度的作品,是我作为演员的使命在网络上各种关于演技最被低估的演员投票中,李佳航常常榜上有名。2008年出道至今,李佳航成功饰演了不少代表作,如爱情公寓外科风云等,直到江苏卫视乔家的儿女的播出,李佳航更是凭借一段聊几句停贷风暴的背后河南村镇银行还没完全收尾,疑似更大的风暴就开始出现在了公众视野。多个楼盘业主公开宣布停贷。而且这个现象已经从单个楼盘,蔓延到了周边楼盘,又从单个城市,覆盖到了全国。我看了下名单内,头伏多吃4宝,不用把医生找,4宝指的是什么,怎么吃?老话常说冷在三九,热在三伏,三伏分为初伏中伏末伏,今年初伏10天,中伏20天,末伏10天,是一个加长版的三伏天,闷热的天气让这40天显得尤为漫长。人们总说伏天无病三分虚,想要身体健央视主持赵普十年奋斗,却仍无法转正,历数入编制的难度入编制有多难?看赵普就知道了。赵普原是北京电视台主持人,2006年因参加魅力新搭档而来到央视比赛。虽然他最终没能成为王小丫身边的人,但因个人能力突出,被留在央视主持早间节目朝闻天下新车文懂车帝原创高帅鹏懂车帝原创产品日前,东风EV新能源宣布,旗下纯电小型SUV纳米BOX正式上市,售价6。57万元起。据东风EV新能源透露,纳米BOX属于为东风EX1系列新增车型,该从棺材中抬出来的开国中将,决战淮海所部活捉黄维,65岁协助许世友指挥对越自卫还击文赵国强施灿良从农家少年到红军团长刘昌毅,原名刘少卿,又名刘昌义,1914年11月2日出生于湖北省黄安县(今红安县)七里坪区马鞍石村,祖祖辈辈务农为生。从记事时起,刘昌毅就一直过着郎咸平案后续来自空姐的反杀,空姐是怎么把900万又赢回来的?郎咸平案例来自空姐的反杀。乘务员是怎么赢回900万的?他是一位受欢迎的经济学家。可以说,从2003年到2011年,在经济学领域,他的知名度处于巅峰,粉丝和追随者众多。他有多性感?从
友情链接:快好知快生活快百科快传网中准网文好找聚热点快软网