准备工具:
Dlib19.8;
成功安装 dlib (anaconda);
成功配置Opencv;
skimage 库 (参见http://blog.csdn.net/qq_34915398/article/details/79114200);
1. 人脸检测
用例:
D:\dlib19_8\dlib-19.8\python_examples\face_detector.py
复制到新项目(如:D:\PyCharm\pycharmProjects)
图片:
D:\dlib19_8\dlib-19.8\examples\faces
文件夹复制到新项目
cmd(命令行)转到(cd)当前项目目录下(D:\PyCharm\pycharmprojects)
输出如下:
2. face_landmark_detection.py
在face_detector.py的识别人脸基础上,识别出人脸部的具体特征部位:下巴轮廓、眉毛、眼睛、嘴巴,同样用标记标识出面部特征
用例:face_landmark_detection.py
(D:\dlib19_8\dlib-19.8\python_examples\face_landmark_detection.py)
预训练模型:shape_predictor_68_face_landmarks.dat
(http://sourceforge.net/projects/dclib/files/dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2)
人脸图片:faces文件夹(D:\dlib19_8\dlib-19.8\examples\faces)
* 关于sys.argv[]的使用: (以下转载自:https://www.cnblogs.com/AdaminXie/p/7905888.html)
( 如果对于代码中 sys.argv[] 的使用不了解可以参考这里 )
用来获取cmd命令行参数,例如 获取cmd命令输入“python test.py XXXXX” 的XXXXX参数,可以用于cmd下读取用户输入的文件路径;
如果不明白可以在python代码内直接 img = imread("F:/*****/test.jpg") 代替 img = imread(sys.argv[1]) 读取图片;
用代码实例来帮助理解:
1. (sys.argv[0],指的是代码文件本身在的路径)
test1.py:
1 import sys 2 a=sys.argv[0] 3 print(a)
cmd input:
python test1.py
cmd output:
test1.py
2. (sys.argv[1],cmd输入获取的参数字符串中,第一个字符)
test2.py:
1 import sys 2 a=sys.argv[1] 3 print(a)
cmd input:
python test2.py what is your name
cmd output:
what
3. (sys.argv[1:],cmd输入获取的参数字符串中,从第一个字符开始到结束)
test3.py:
1 import sys 2 a=sys.argv[1:] 3 print(a)
cmd input:
python test3.py what is your name
cmd output:
[“what”,“is”,“your”,“name”]
3.(sys.argv[2],cmd输入获取的参数字符串中,第二个字符)
test4.py:
1 import sys 2 a=sys.argv[2] 3 print(a)
cmd input:
python test4.py what is your name
cmd output:
"is"