为了这个配置花了一下午的时间,个人认为我写的这个流程真的是网上最全的了。
如果之前安装过其他版本的VS,可以直接在菜单栏“帮助-检查更新”,进行更新或选择重装。卸载之前版本的方法可参考(亲测有效):
https://www.cnblogs.com/CreateMyself/p/9028290.html
下载并安装 VS 2019 Community
https://visualstudio.microsoft.com/zh-hans/vs/community/?rr=https%3A%2F%2Fwww.google.com%2F
我的电脑->属性->高级系统设置->环境变量->系统变量->Path:
添加一条路径
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\bin\Hostx86\x86
新建LIB变量,添加两个路径:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\lib\x86;
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\x86
新建INCLUDE变量,添加两个路径:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include
打开cmd,运行cl,验证是否成功
在安装VS的时候如果选择了Python开发,就自动安装了Python3.7, 如果忘记安装,可打开Visual Studio Installer,在对应版本选择“修改”。
另外,为了后面的操作,我们也需要本地配置。选择官网下载 https://www.python.org/downloads/ , 本地配置环境。
我的电脑 - 属性 - 高级系统设置 - 环境变量。 相关内容网上教的太多了,自行搜索吧。
两种方法。
一, 直接在VS2019 中配置
新建一个Python项目, 点击Python3.7栏旁边的按钮“管理此环境的包”。
搜索‘opencv’,安装‘opencv-contrib-python’
配置完成。
二,下载OpenCV并本地配置
可参考 https://kaibaooo.github.io/2019/07/18/%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98/opencv-vs2019/
一,下载dlib-19.19 http://dlib.net/ ,解压文件至C:\Users\你的用户名\ 下。
二,打开cmd,使用pip install cmake 安装 cmake 插件,成功后命令行输入cmake。
三,输入python setup.py install进行安装。这一步请提前关掉你的杀毒软件或者其他什么安全监测软件,不然你会收到很多很多很多警告。
可参考 https://www.hotbak.net/key/%E6%B5%8B%E8%AF%95%E5%9C%A8Windows10%E4%B8%8B%E4%B8%BAPython38%E5%AE%89%E8%A3%85dlib19CSDN%E5%8D%9A%E5%AE%A2.html
至此配置结束。重新打开刚刚建立的python项目,输入下面的代码来验证,以上配置是否起了作用。这段代码的作用就是简单的人脸检测。请事前保存一张图片在当前路径。
import sys
import dlib
import cv2
detector = dlib.get_frontal_face_detector()
img = cv2.imread("1.jpg", cv2.IMREAD_COLOR)
b, g, r = cv2.split(img) # 分离三个颜色通道
img2 = cv2.merge([r, g, b]) # 融合三个颜色通道生成新图片
dets = detector(img, 1) #人脸检测
for index, face in enumerate(dets): # 在图片中标注人脸
left = face.left()
top = face.top()
right = face.right()
bottom = face.bottom()
cv2.rectangle(img, (left, top), (right, bottom), (0, 255, 0), 3)
cv2.imshow("Test",img) # 显示图片
k = cv2.waitKey(0) # 等待按键后退出
cv2.destroyAllWindows()
运行结果:
不知道为什么,这张图总是上传失败。反正结果就是可以识别一张图上的多个人脸,脸由绿色的方框框起。