python使用opencv实现人脸识别系统
2017-09-08 08:01
1186 查看
1.首先安装过python环境,在这里就不过说
检测是否安装成功如下,在cmd中输入Python
2.安装numpy
现在开始安装numpy,打开cmd,输入pipinstallnumpy
我的电脑已经安装过了,忘记截屏了。就在网上找了图片
测试是否成功
3.安装opencv
在官网自行下载,这里下载的是opencv2.4.10安装。
###(1)复制cv2.pyd
将”\opencv\build\python\2.7\x64”或”\opencv\build\python\2.7\x86”(根据python版本)文件夹中找到cv2.pyd”,复制到Python安装文件的”C:\Python27\Lib\site-packages”文件夹中。
测试:
接下来利用opencv进行捕获摄像头
成功运行将是这个样子
接下来利用opencv的物体分类器实现人脸识别
效果如下
检测是否安装成功如下,在cmd中输入Python
2.安装numpy
现在开始安装numpy,打开cmd,输入pipinstallnumpy
我的电脑已经安装过了,忘记截屏了。就在网上找了图片
测试是否成功
3.安装opencv
在官网自行下载,这里下载的是opencv2.4.10安装。
###(1)复制cv2.pyd
将”\opencv\build\python\2.7\x64”或”\opencv\build\python\2.7\x86”(根据python版本)文件夹中找到cv2.pyd”,复制到Python安装文件的”C:\Python27\Lib\site-packages”文件夹中。
测试:
接下来利用opencv进行捕获摄像头
#-*-coding:utf-8-*- #该文件实现opencv获取usb摄像头,展示实时画面 importcv2 importsys fromPILimportImage defCatchUsbVideo(window_name,camera_idx): cv2.namedWindow(window_name) #视频来源,可以来自一段已存好的视频,也可以直接来自USB摄像头 cap=cv2.VideoCapture(camera_idx) whilecap.isOpened(): ok,frame=cap.read()#读取一帧数据 ifnotok: break #显示图像并等待10毫秒按键输入,输入‘q’退出程序 cv2.imshow(window_name,frame) c=cv2.waitKey(10) ifc&0xFF==ord('q'): break #释放摄像头并销毁所有窗口 cap.release() cv2.destroyAllWindows() if__name__=='__main__': iflen(sys.argv)!=2: print("Usage:%scamera_id\r\n"%(sys.argv[0])) else: CatchUsbVideo("截取视频流",int(sys.argv[1]))
成功运行将是这个样子
接下来利用opencv的物体分类器实现人脸识别
#-*-coding:utf-8-*- #该项目实现人脸识别,使用opencv的haarcascade_frontalface_alt2.xml人脸分类器 importcv2 importsys fromPILimportImage defCatchUsbVideo(window_name,camera_idx): cv2.namedWindow(window_name) #视频来源,可以来自一段已存好的视频,也可以直接来自USB摄像头 cap=cv2.VideoCapture(camera_idx) #告诉OpenCV使用人脸识别分类器 classfier=cv2.CascadeClassifier("E:/project/opencv/build/etc/haarcascades/haarcascade_frontalface_alt2.xml") #识别出人脸后要画的边框的颜色,RGB格式 color=(0,255,0) whilecap.isOpened(): ok,frame=cap.read()#读取一帧数据 ifnotok: break #将当前帧转换成灰度图像 grey=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) #人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数 faceRects=classfier.detectMultiScale(grey,scaleFactor=1.2,minNeighbors=3,minSize=(32,32)) iflen(faceRects)>0:#大于0则检测到人脸 forfaceRectinfaceRects:#单独框出每一张人脸 x,y,w,h=faceRect cv2.rectangle(frame,(x-10,y-10),(x+w+10,y+h+10),color,2) #显示图像 cv2.imshow(window_name,frame) c=cv2.waitKey(10) ifc&0xFF==ord('q'): break #释放摄像头并销毁所有窗口 cap.release() cv2.destroyAllWindows() if__name__=='__main__': iflen(sys.argv)!=2: print("Usage:%scamera_id\r\n"%(sys.argv[0])) else: CatchUsbVideo("face",int(sys.argv[1]))
效果如下
相关文章推荐
- Android使用OpenCV实现「人脸检测」和「人脸识别」
- 从零使用OpenCV快速实现简单车牌识别系统
- OpenCV + Python 实现人脸识别
- 使用Opencv实现IOS平台下的人脸识别
- OpenCV3计算机视觉Python语言实现人脸识别笔记
- python使用opencv2人脸识别
- 【Android】Android使用OpenCV实现人脸识别(OpenCV+JavaCV)
- python+opencv实现的简单人脸识别代码示例
- php使用face++实现一个简单的人脸识别系统
- 基于python3 OpenCV3实现静态图片人脸识别
- 使用 HTML5, javascript, webrtc, websockets, Jetty 和 OpenCV 实现基于 Web 的人脸识别
- python调用OpenCV实现人脸识别功能
- 使用OpenCV+PCA+KNN/SVM进行人脸检测和识别-Python
- 25 行 Python 代码实现人脸识别——OpenCV
- python使用opencv进行人脸识别
- Python调用OpenCV实现人脸识别
- Python + OpenCV 实现简单的人脸识别
- 静态图片人脸识别 OpenCV3,Python3实现
- 从零使用OpenCV快速实现简单车牌识别系统
- 【图像识别】 Python+Opencv调用摄像头实现人脸识别并保存视频