anaconda 安装dlib库几种方法及问题

上次老师讲了基于face_recognition的人脸识别,用到了dlib库,然后,就开始痛苦的安装之路。

安装dlib库之前需要先安装cmake,这个很简单,只有dlib不简单。。。

为了重现过程,我先把dlib卸了。

第一次,我尝试直接使用 pip install dlib -i https://pypi.tuna.tsinghua.edu.cn/simple,当然失败了,几乎我所知道的同学使用这个方法都失败了,但我们得到一个有效信息,就是找不到合适的版本。

第二次,我先查到自己的版本是3.6

决定下载离线安装包的相应版本dlib-19.6.0-cp36-cp36m-win_amd64.whl,找到文件路径直接在本地进行安装。这也成功安装了,就是在安装face_recognition出了问题,

face_recognition需要的是19.7版本的dlib,所以还得重新下载19.7版本,卸载旧的版本,进行本地安装。但是这个好麻烦,之后我忘了在哪里搜到一个方法,不用下载安装包,可以直接进行在线安装,只要在dlib后面加上版本号。

 这就安装上了,是不是很简单。

之后安装face_recognition就很简单了。

 

接下来来个人脸识别的例子吧!

#一个师姐给的代码示例
import face_recognition
import cv2
#加载图像文件(.jpg,.png等),返回的数据是Numpy数组,记录了图片的所有像素的特征向量
image = face_recognition.load_image_file("sheep.jpg")
#定位图中所有的人脸的像素位置,返回值为列表形式,列表中每一行是一张人脸的位置信息,包括【top, right, bottom, left】这是一组元组。
face_locations_noCNN=face_recognition.face_locations(image)
# face_locations_useCNN =
face_recognition.face_locations(image,model='cnn')
# A list of tuples of found face locations in css (top, right, bottom,left) order
# 因为返回值的顺序是这样子的,因此在后面的for循环里面赋值要注意按这个顺序来
print("face_location_noCNN:")
print(face_locations_noCNN)
face_num2=len(face_locations_noCNN)
print(face_num2)       
# The number of faces
# 到这里为止,可以观察两种情况的坐标和人脸数,一般来说,坐标会不一样,但是检测出来的人脸数应该是一样的# 也就是说face_num1=face_num2;face_locations_useCNN和face_locations_noCNN不一样
org = cv2.imread("sheep.jpg")
img = cv2.imread("sheep.jpg")
cv2.imshow("sheep.jpg",img)  
# 原始图片
for i in range(0,face_num2):    
    top = face_locations_noCNN[i][0]    
    right = face_locations_noCNN[i][1]    
    bottom = face_locations_noCNN[i][2]    
    left = face_locations_noCNN[i][3]    
    start = (left, top)    
    end = (right, bottom)    
    color = (0,255,255)    
    thickness = 2  
    cv2.rectangle(org, start, end, color, thickness)
    #参数:图片,⻓方形框左上⻆坐标, ⻓方形框右下⻆坐标,字体颜色,字体粗细)

cv2.imshow("no cnn ",org)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

 

 

  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值