2023年8月2日发(作者:)
python⼈脸识别第三⽅库_Python基于OpenCV库Adaboost实现⼈脸识别功能详解本⽂实例讲述了Python基于OpenCV库Adaboost实现⼈脸识别功能。分享给⼤家供⼤家参考,具体如下:以前⽤Matlab写神经⽹络的⾯部眼镜识别算法,研究算法逻辑,采集⼤量训练数据,迭代,计算各感知器的系数。。。相当之⿇烦~⽽现在运⽤调⽤pythonOpenCV库Adaboost算法,⽆需知道算法逻辑,⽆需进⾏模型训练,⼈脸识别变得相当之简单了。需要⽤到的库是opencv(open source computer vision),下载安装⽅式如下:使⽤pip install numpy语句安装numpy(如果出现错误:Microsoft Visual C++ 9.0 is required ,使⽤管理员⾝份安装 Microsoft Visual C++ 9.0,重新启动计算机,再使⽤使⽤pip install numpy语句安装numpyopencv2.4.10下载下载之后解压(随便解压到哪⾥),将解压⽬录opencv⽂件夹中,build->python->2.7->x86下的⽂件 复制到python2.7Libsite-packages 中测试是否安装成功,执⾏解压⽬录下的或者进⼊python环境,使⽤import cv2⾸先讲讲需要⽤到的新函数:CascadeClassifier()函数,导⼊分类器eClassifier('')#haarcascade_frontalface_脸部识别⽂件#haarcascade_眼部识别⽂件函数的参数是xml完整路径(具体看你的opencv安装在哪⾥的,在opencvsourcesdatahaarcascades下⾯),xml⽂件中是封装好的算法detectMultiScale()函数,进⾏识别detectMultiScale(image,scaleFactor,minNeighbors,flags,minSize,maxSize)最终返回值为识别出的矩阵框[x, y, w, h],(x,y)左上⾓起始坐标,w宽,h⾼image:⽤于检测的图像scaleFactor:前后两次相继的扫描中,搜索窗⼝的⽐例系数.例如1.1指将搜索窗⼝依次扩⼤10%。图⽚⼩的时候,⽐例系数尽量⼩能提⾼准确率minNeighbors:构成检测⽬标的相邻矩形的最⼩个数。⼀般使⽤2or3,为0时返回所有的被检候选矩形框。rectangle()函数,在图⽚上画矩阵gle(image,(x,y),(x+w,y+h),(0,255,0),2)image是原始图⽚(x,y)是矩形左上⾓(x+w,y+h)是矩形右下⾓(0,255,0)是矩形的BGR颜⾊, 为红⾊2, 是绘制矩形的线宽程序逻辑:导⼊Haar级联分类器算法,读⼊要处理图⽚,将图⽚变成时候的⼤⼩,⽤detectMultiScale()函数先识别出⼈脸,在原图上框出,然后提取出识别出的⼈脸矩形框,在⼈脸矩形框内识别出眼睛,在原图上框出,展⽰出识别完的图像。完整程序及注解:import cv2face_cascade = eClassifier('D:opencvsourcesdatahaarcascades/haarcascade_frontalface_')eye_cascade = eClassifier('D:opencvsourcesdatahaarcascades/haarcascade_')img1 = ('')img = (img1,(240,320),interpolation=_LINEAR)faces = face_MultiScale(img,1.2,2)for (x,y,w,h) in faces:gle(img,(x,y),(x+w,x+h),(255,0,0),2)#⽤颜⾊为BGR(255,0,0)粗度为2的线条在img画出识别出的矩型face_re = img[y:y+h,x:x+w]#抽取出框出的脸部部分,注意顺序y在前eyes = eye_MultiScale(face_re)#在框出的脸部部分识别眼睛for (ex,ey,ew,eh) in eyes:gle(face_re,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)('img',img)key = y(0)if key==27:yWindow('img')最后po个作者的照骗,展⽰⼀下最终的识别效果:1--识别前1——识别后2——识别前2——识别后问题:1.斜的脸识别率不⾼2.⼤⼩不同的图⽚识别率不同,所有最好把图⽚处理成差不多⼤⼩的图⽚3.眼部有遮挡物时,眼睛识别率底,⽐如:有眼睛,有头发欢迎有能解决上⾯问题的朋友能够交流⼀下~希望本⽂所述对⼤家Python程序设计有所帮助。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1690906432a460167.html
评论列表(0条)