综合了无数网上记录过这个问题的文章,最后终于安装成功了!

  首先有些文章说dlib从19.9版本起开始就不用cmake和boost的支持了,可能是我安装的dlib版本的问题?最后还是通过vs2015 + cmake + dlib19.16安装上了,如下图所示

  最开始我没有安装vs2015,然后下载了cmake和dlib19.16,配置好cmake环境变量后直接在dlib目录下通过python setup.py install进行安装,结果报错,后来安装了vs2015,再运行python setup.py install还是报一样的错误,后来无意中看到 一篇 外国友人的帖子也是关于cmake报错的,如下图所示

  原文地址 https://stackoverflow.com/questions/14807294/how-to-install-cmake-c-compiler-and-cxx-compiler

  其中写道remove 'CMakeCache.txt' 让我恍然大悟,难道编译错误之后下一次编译还会读取之前编译的文件吗,试着删除了CMakeCache.txt,然后再执行python setup.py install,居然就这样成功了!我觉着CMake应该改进一下这个编译机制,每次编译都读取新的配置文件,这样就不会造成意想不到的困扰了。

  随后继续安装face_recognition模块,遇到了资源地址连接超时的问题,于是把资源地址指向国内资源地址,问题解决!

pip3 install face_recognition -i  https://pypi.douban.com/simple/

安装成功!在pycharm中试了一下导入dlib也没问题

 import face_recognition
from PIL import Image image = face_recognition.load_image_file("known_person/uw.jpg")
face_locations = face_recognition.face_locations(image)
print(type(face_locations))
# 打印:我从图片中找到了 多少 张人脸
print("I found {} faces in this photogragh.".format(len(face_locations)))
# 循环找到的所有人脸
for face in face_locations:
top,right,bottom,left = face
print("a face is located at pixel location Top:{},left:{},Bottom:{},Right:{}".format(top,left,bottom,right))
# 指定人脸的位置信息,然后显示人脸图片
face_image = image[top:bottom,left:right]
pil_image = Image.fromarray(face_image)
pil_image.show()

  上面是在网上查到了一个代码实例,有的图片识别准确,不过有些图片识别的时候会少一个人,比如下面这张图,识别出来只有三个人,举手的那个黑人没有识别出来。不知道是因为阴影的问题还是胳膊影响了头像的识别,后续再研究吧。

下面这张图就成功的识别出了11人

再补充一下OpenCV识别出来的结果,更加直观一些,下面贴出代码

 # -*- coding:utf-8 -*-

 import cv2
import face_recognition
from PIL import ImageColor
import chardet
#读取图片并识别人脸
img = face_recognition.load_image_file("known_person/uw.jpg")
face_locations = face_recognition.face_locations(img)
print(face_locations) #调用opencv函数显示图片 img = cv2.imread("known_person/uw.jpg")
cv2.namedWindow("from") cv2.imshow("from",img) #遍历每个人脸,并标注
faceNum = len(face_locations)
for i in range(0,faceNum):
top = face_locations[i][0]
right = face_locations[i][1]
bottom = face_locations[i][2]
left = face_locations[i][3] start = (left,top)
end = (right,bottom)
color = ImageColor.getrgb("#FFFF00")
thickness = 2
cv2.rectangle(img,start,end,color,thickness) #显示识别结果 cv2.namedWindow("to")
cv2.imshow("to",img) cv2.waitKey(0)
cv2.destroyAllWindows()

同样没有识别出左二的队员。。。

这张西班牙国家队全家福无一遗漏!

windows7安装dlib过程中遇到的问题总结以及运行实例效果的更多相关文章

  1. 在Linux下安装PHP过程中,编译时出现错误的解决办法

    在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法 configure: error: libjpeg.(a ...

  2. 安装PHP过程中,make步骤报错:(集合网络上各种解决方法)

    安装PHP过程中,make步骤报错:(集合网络上各种解决方法) (1)-liconv -o sapi/fpm/php-fpm /usr/bin/ld: cannot find -liconv coll ...

  3. Jenkins(3)- 安装Jenkins过程中遇到问题的排查思路

    如果想从头学起Jenkins的话,可以看看这一系列的文章哦 https://www.cnblogs.com/poloyy/category/1645399.html 安装Jenkins过程中,可能会遇 ...

  4. canal-adapter1.1.14最新版本安装的过程中出现的NullPointerException异常

    记录一下我在安装 canal-adapter1.1.14最新版本安装的过程中出现的NullPointerException异常 以下是我的canal-adapter/logs文件夹内adapter.l ...

  5. NVidia Jetson Ubuntu 18.04 安装ROS过程中运行sudo rosdep init指令出错

    参考:https://www.cnblogs.com/xuhaoforwards/p/9399744.html 安装ROS过程中运行sudo rosdep init后,出现如下错误LOG: ERROR ...

  6. 安装CaffeOnSpark过程中遇到的问题及解决方案

    安装教程来自 http://blog.csdn.net/sadonmyown/article/details/72781393 首先,我使用的节点环境是ubuntu 16.04.1,事先 成功安装了s ...

  7. Python安装scrapy过程中出现“Failed building wheel for xxx”

    https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml Python安装scrapy库过程中出现“ Failed building wheel for xxx ...

  8. 安装informatic过程中的错误

    1.Check if the DISPLAY variable is set export DISPLAY=192.168.3.201:0.0 在注销用户并切换到oracle或者infa 用户,就可以 ...

  9. 安装xenserver过程中出现的问题

    运行环境:win10系统,神舟战神z7m-KP7GT型号笔记本,VMWare虚拟机,XenServer7.2.0,XenCenter7.2.0 5月22日下午安装上xenserver虚拟机,发现虚拟机 ...

随机推荐

  1. 现代 PHP 新特性 —— 生成器入门(转)

    原文链接:blog.phpzendo.com PHP 在 5.5 版本中引入了「生成器(Generator)」特性,不过这个特性并没有引起人们的注意.在官方的 从 PHP 5.4.x 迁移到 PHP ...

  2. C++ for循环语句

    #include "pch.h" #include<iostream> using namespace std; int main() { int i = 1, sum ...

  3. WebSocket 实战--转

    原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-WebSocket/ WebSocket 前世今生 众所周知,Web 应用的交互过程通常是客户端 ...

  4. JAVA写接口傻瓜(!)教程(二)

    接上一篇 3.数据库SQL sever配置 理论上来说,java web项目连接什么数据库都行,但是我电脑上SQL sever用了三年了,各种操作都比较熟悉,所以也懒得再用My SQL.想用My SQ ...

  5. C#用正则表达式替换手机中间几位为*号 代码及解析

    /// <summary> /// 替换手机号中间四位为* /// </summary> /// <param name="phoneNo">& ...

  6. IntelliJ IDEA激活

    以前一直使用eclipse,直到后来发现了IntelliJ IDEA,就爱上了它. 不过可惜的是,community版本虽然是免费的,不过功能相对较少,而ultimate版本的又需要花钱.但是我穷啊, ...

  7. ZYNQ DMA驱动及测试分析

    之前没有接触过DMA驱动.不了解它的原理,稍作学习先总结下dma驱动步骤: 1. 申请DMA中断. 2. 申请内存空间作为src和dts的空间. 3. 注册设备注册节点 4. 将申请到的src和dst ...

  8. LInux下几种定时器的比较和使用

    在数据通信过程中,会遇到对数据发送时间的格式要求.所以要在应用中根据实际要求选择不同的定时器,就要考虑到几种应用定时器的特点. 定时器文章参考 一般而言有, 1.sleep,usleep和nanosl ...

  9. 牛客网暑期ACM多校训练营(第七场)Bit Compression

    链接:https://www.nowcoder.com/acm/contest/145/C 来源:牛客网 题目描述 A binary string s of length N = 2n is give ...

  10. springboot配置视图控制器

    实现WebMvcConfigurer接口 /** * @descripte 配置自己的视图解析器 */@Configurationpublic class MyViewConfigController ...