一. 欢迎 无聊,研究一下人脸识别的安装,win10平台实现,采用最新的win10 1809配置,欢迎交流 二. 首先 安装好的镜像 解压缩,导入到虚拟机就可以使用,里面有解压缩码,17个G
https://pan.baidu.com/s/1WBkWGXquhsb6wQvnIxnQ3w bbni三.安装方法 自己装一个win10系统,这就不用我说了吧。 官网下载Anaconda 3.7 64位 windows平台
https://www.anaconda.com/distribution/下载完成是这个东西
进行安装,记得这个地方勾上这个,其他基本默认就好。 安装完成,会在菜单栏显示如图的东西 打开Anaconda Prompt,输入看看版本
conda --version用命令看下当前有哪几个环境,默认只有base一个环境,输入查看
conda info --envs安装Tensorflow需要python3.5的环境所以直接创建一个,名字命名为tensorflow,输入 conda create --name tensorflow python=3.5 这里肯定是y咯,然后等待吧, 安装完成后显示如下画面,就代表安装完了。这里也显示两个命令,一个是激活tensorflow这个环境,另一个是不激活当前环境; 现在再用命令看一下当前有哪些环境,现在就多出一个刚刚我们创建的tendorflow环境。 现在在菜单栏找到Anaconda Navigator,打开 然后在这里切换到tensorflow环境 然后找到Spyder进行install,这里有可能安不上,重复几次,或者在图标右上角切换安装的版本,安装完可以启动看看 安装完是这个样子 菜单栏里就会出现新的Spyder快捷方式 然后命令安装pip组件,并更新
pip install Pillow然后我们就开始安装真正的tensorflow了,输入命令(这里就只是cpu版的)
pip install --ignore-installed --upgrade tensorflow这里提示错误,不用管他 再安装一个cython, pip install Cython --install-option="--no-cython-compile" 这里再安装opencv组件
pip install opencv-python打开opencv官网下载如图Windows版本
https://opencv.org/解压缩到c盘吧 这里就安装完了,恭喜
打开spyder插入如下代码,运行
import cv2 import sys from PIL import Image def CatchUsbVideo(window_name, camera_idx ): cv2.namedWindow(window_name) #视频来源,可以来自一段已存好的视频,也可以直接来自USB摄像头 cap = cv2.VideoCapture(camera_idx) #告诉OpenCV使用人脸识别分类器 classfier = cv2.CascadeClassifier("C:\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt2.xml") #识别出人脸后要画的边框的颜色,RGB格式 color = (0, 255, 0) while cap.isOpened(): ok, frame = cap.read() #读取一帧数据 if not ok: break #将当前帧转换成灰度图像 grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数 faceRects = classfier.detectMultiScale(grey, scaleFactor = 1.2, minNeighbors = 3, minSize = (32, 32)) if len(faceRects) > 0: #大于0则检测到人脸 for faceRect in faceRects: #单独框出每一张人脸 x, y, w, h = faceRect cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), color, 2) cv2.putText(frame, 'Cool' , (x, y - 50), #单独框出每一张人脸,并打上cool标签 cv2.FONT_HERSHEY_DUPLEX, 2, (255, 255, 255), 2, 30) #显示图像 cv2.imshow(window_name, frame) c = cv2.waitKey(10) if c & 0xFF == ord('w'): print ("ok") if c & 0xFF == ord('q'): break #释放摄像头并销毁所有窗口 cap.release() cv2.destroyAllWindows() if __name__ == '__main__': if len(sys.argv) != 1: print("Usage:%s camera_id\r\n" % (sys.argv[0])) else: CatchUsbVideo("识别人脸区域", 0)这里的位置就是你opencv解压缩的路径,一定要确认 好了打开你的摄像头,然后运行 效果就这样 好了这样就完成了
