大四学生的毕设!利用Python+OpenCV来进行人脸识别与跟踪!真难

转眼四年匆匆流逝,过的好快啊!毕业季也意味这分手季,意味这一大批代写毕业设计的要忙死了!小编也大四了,很快毕业了,而这次选题,居然选到了人脸识别这一块,还好小编自己算是个专业课还过得去的,自己闲暇时间也会学学东西的,所以这个毕设对我来讲还是比较简单的,今天就是简短的说一下,不可能把小编的总个毕设都搬上来吧,所以大家就大概看一个过程吧,如果你们也想学这门编程语言的话,私信我01就可以领取小编整理的入门资料哈!来了废话不多讲,来到咱们的正文:

大四学生的毕设!利用Python+OpenCV来进行人脸识别与跟踪!真难

 

然后从opencv解压后的路径中找(D:My DocumentsDownloads)opencvuildpython.7\x86,()里面的部分是你自己的安装路径,其中x86对应32位的机器,x64代表64位的机器,当然要按照你机器的实际情况选择了。将这个路径里面的cv2.pyd拷贝至python2.7的模块路径C:Python27Libsite-packages里,python2.7默认安装在C盘跟目录下。

此时打开python,在cmd下输入python,或者直接打开“所有程序->active state active python->Python Interactive Shell”都行。

大四学生的毕设!利用Python+OpenCV来进行人脸识别与跟踪!真难

 

import cv2import numpy as npcv2.namedWindow("test")cap=cv2.VideoCapture(0)success,frame=cap.read()classifier=cv2.CascadeClassifier("haarcascade_frontalface_alt.xml") #确保此xml文件与该py文件在一个文件夹下,否则将这里改为绝对路径,此xml文件可在D:My DocumentsDownloadsopencvsourcesdatahaarcascades下找到。while success:  success,frame=cap.read()  size=frame.shape[:2]  image=np.zeros(size,dtype=np.float16)  image=cv2.cvtColor(frame,cv2.cv.CV_BGR2GRAY)  cv2.equalizeHist(image,image)  divisor=8  h,w=size  minSize=(w/divisor,h/divisor)  faceRects=classifier.detectMultiScale(image,1.2,2,cv2.CASCADE_SCALE_IMAGE,minSize)  if len(faceRects)>0:    for faceRect in faceRects:      x,y,w,h=faceRect      cv2.circle(frame,(x+w/2,y+h/2),min(w/2,h/2),(255,0,0))      cv2.circle(frame,(x+w/4,y+h/4),min(w/8,h/8),(255,0,0))      cv2.circle(frame,(x+3*w/4,y+h/4),min(w/8,h/8),(255,0,0))      cv2.rectangle(frame,(x+3*w/8,y+3*h/4),(x+5*w/8,y+7*h/8),(255,0,0))  cv2.imshow("test",frame)   key=cv2.waitKey(10)  c=chr(key&255)  if c in ['q','Q',chr(27)]:    breakcv2.destroyWindow("test")

为什么没有注释,你恐怕知道下雨天,dir()和help()更配呦。

这段代码的功能就是对计算机摄像头拍到的视频加以处理,使其显示并追踪人脸。下图是运行效果:

大四学生的毕设!利用Python+OpenCV来进行人脸识别与跟踪!真难

 

最后再说一句,这个过程说起来简单,但很容易出错,希望大家能自己找到错误的原因,并解决错误。如果自己解决不了的话,不妨把问题贴在评论里,大家来共同解决,共同进步。可以进群咱们一起交流哦!群号:125240963

猜你喜欢

转载自www.cnblogs.com/Python1234/p/9145806.html