全面横扫:dlib Python API在Linux和Windows的配置方案

news/2025/1/16 0:01:14/

前言

在计算机视觉和人工智能领域,dlib是一个备受推崇的工具库。它为开发者提供了强大的图像处理、机器学习和深度学习功能。在计算机视觉项目中,配置dlib Python API是一个重要的初始步骤。本文将引导读者详细了解在Linux和Windows系统上安装和配置dlib Python API的过程。

文章目录

    • 前言
  • 在Linux和Windows系统上配置dlib Python API
    • dlib简介
    • 为什么选择dlib
    • dlib官网及下载源
    • 运行环境配置
      • Windows
      • Linux
    • 总结
    • 下一步计划

在Linux和Windows系统上配置dlib Python API

dlib简介

dlib是一个C++编写的跨平台机器学习工具库,它广泛用于图像处理、人脸识别、物体检测等任务。dlib的Python接口使得开发者可以在Python环境中轻松使用其强大功能。它不仅在性能上表现出色,而且还提供了许多预训练模型和实用工具,使其成为计算机视觉项目的首选之一。

为什么选择dlib

在选择计算机视觉和人工智能工具库时,开发者通常会考虑性能、稳定性和功能丰富程度。以下是选择dlib的一些理由:

  • 强大的功能:dlib提供了丰富的图像处理、特征检测和机器学习工具,可以应用于多种应用领域。

  • 跨平台支持:dlib可以在Linux和Windows等多个操作系统上运行,确保了项目的可移植性。

  • 开源社区支持:dlib拥有庞大的开源社区,意味着有大量的文档和示例代码可供参考。

  • 性能卓越:dlib经过优化,具有出色的性能,适用于高效的实时应用。

  • dlib的优势

    • 代码质量高,Documentation完善
    • 包含大量预训练模型,使模型直接可用
    • 支持C++和Python开发
    • 兼容Windows和Linux系统
  • dlib的Python API
    dlib为Python提供了API接口,可以在Python程序中调用dlib的功能和模型。dlib的Python API包含了人脸检测、面部 landmark 检测、人脸识别等功能。

dlib官网及下载源

官方GitHub连接
dlib
dlib-models
如果你能通过pip安装dlib,也许你不会点开这篇文章

pip install dilb

我们往往会遇到各种报错,你可以在以下两个网站下载你需要的版本进行下载

豆瓣pypi源
在这里插入图片描述

dlib官网源
在这里插入图片描述
常用dat
shape_predictor_68_face_landmarks.dat
来源于davisking/dlib-models
你也可以在上面的dlib官网源找到他

运行环境配置

运行环境配置及打包方式基于
半自动化使用.bat手动打包迁移python项目

  • Python 3.8
  • dlib

什么是Python虚拟环境
Python虚拟环境可以为一个应用创建一个独立的Python运行环境,包含独立的Python解释器、库和脚本。
为何需要虚拟环境

  • 隔离应用程序所需要的库,避免版本冲突
  • 可以安装不同版本的库到不同虚拟环境
  • 可以复用虚拟环境,提高开发效率

创建和管理虚拟环境的常用工具

  • virtualenv:Python标准库中的虚拟环境工具
  • conda:Anaconda发行版提供的虚拟环境管理工具
  • pipenv:依赖管理和虚拟环境管理工具

使用虚拟环境的基本步骤

  • 创建虚拟环境
  • 激活虚拟环境
  • 在虚拟环境中安装需要的库
  • 在虚拟环境中运行Python应用程序
  • 停用或删除不需要的虚拟环境

使用虚拟环境可以避免在配置dlib时遇到依赖库版本冲突等问题。

Windows

豆瓣pypi源只有py36以及之前版本的dlib,目前Windows上没有特别好的解决方法,我们必须下载到对应python版本的dlib.whl
你可以关注我然后回复我dlib获取

dlib

我搜集了python3.7-3.9各种版本的dlib安装包

dlib-19.17.99-cp37-cp37m-win_amd64.whl
dlib-19.24.2-cp37-cp37m-win_amd64.whl
dlib-19.19.0-cp38-cp38-win_amd64.whl
dlib-19.21.99-cp38-cp38-win_amd64.whl
dlib-19.22.99-cp39-cp39-win_amd64.whl

这里我们使用dlib-19.19.0-cp38-cp38-win_amd64.whl测试

rem 创建虚拟环境 
python -m venv venv
call venv\Scripts\activate.bat
python -m pip install -i https://mirrors.aliyun.com/pypi/simple/ --upgrade pip setuptools
pip install dlib-19.19.0-cp38-cp38-win_amd64.whl

在这里插入图片描述

我还要用到opencv,torch等库

pip install -i https://mirrors.aliyun.com/pypi/simple/ opencv-python==4.5.3.56
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

Linux

Linux配置较简单,这里我们同样通过创建虚拟环境实现一个干净的新环境进行测试

python -m venv venv 
source venv/bin/activate
python -m pip install -i https://mirrors.aliyun.com/pypi/simple/ --upgrade pip setuptools
pip download dlib==19.19.0
pip install dlib-19.19.0.tar.gz

你可以选择在
dlib官网源
直接下载得到例如dlib-19.19.0.tar.gz或其他版本的dlib然后

pip install dlib-19.19.0.tar.gz

你也可以

pip download dlib==19.19.0
pip install dlib-19.19.0.tar.gz

即可安装成功

在这里插入图片描述

总结

通过本文的指导,读者将能够轻松地在Linux和Windows系统上配置dlib Python API,为他们的计算机视觉和人工智能项目提供强大的支持。在配置过程中,注意选择适合自己Python版本的dlib安装包,并遵循所提供的步骤,即可顺利完成配置。希望本文能够帮助读者节省时间和精力,让你更专注于项目的开发和研究工作。

下一步计划

在下一篇文章中,我们将探究如何结合dlib、OpenCV和Torch实现活体检测,并解决在使用虚拟机摄像头时可能遇到的问题。敬请期待


http://www.ppmy.cn/news/1130661.html

相关文章

YOLOV8-DET转ONNX和RKNN

目录 1. 前言 2.环境配置 (1) RK3588开发板Python环境 (2) PC转onnx和rknn的环境 3.PT模型转onnx 4. ONNX模型转RKNN 6.测试结果 1. 前言 yolov8就不介绍了,详细的请见YOLOV8详细对比,本文章注重实际的使用,从拿到yolov8的pt检测模型&…

优化 Node.js 性能:检测内存泄漏和高 CPU 使用率

优化 Node.js 性能:检测内存泄漏和高 CPU 使用率 Node.js 是一种流行的 JavaScript 运行时,以其速度、性能和可扩展性而闻名。然而,即使是优化和编写得非常好的 Node.js 应用程序也可能会遇到性能问题,例如内存泄漏和 CPU 使用率…

SW免安装的toolbox只读问题

把SOLIDWORKSDATA 整体复制到另外的目录,然后这里设置目录位置。不然原始位置有只读属性

【问题思考总结】CPU怎么访问磁盘?CPU只有32位,最多只能访问4GB的空间吗?

问题 在学习操作系统的时候发现了这样一个问题,32位的CPU寻址空间只有4GB,难道只有4GB的空间可以使用吗?以此为始,我开始了一些思考。 思考 Q1:首先,我似乎混淆了一个概念,内存和外存&#x…

【面试题精讲】Java移位运算符

“ 有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top ” 首发博客地址[1] 面试题手册[2] 系列文章地址[3] 1. 什么是移位运算符? 在 Java 中,移位运算符用于对二进制数进行位移操作。它们…

查找排序部分习题 242. 有效的字母异位词 74. 搜索二维矩阵 1. 两数之和 167.两数之和 II

242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 class Solution(object):def isAnagram(self, s, t):""…

快速幂算法-python

看了大神讲解,理论在这里:快速幂算法(全网最详细地带你从零开始一步一步优化)-CSDN博客 例题:求整数 base 的 整数 power 次方,对整数 num_mod 取幂。 python 代码如下: import timedef norm…

C理解(一):内存与位操作

本文主要探讨C语言的内存和为操作操作相关知识。 冯诺依曼结构和哈佛结构 冯诺依曼结构:数据和代码放在一起,便于读取和修改,安全性低 哈佛结构是:数据和代码分开存放,安全性高,读取和修麻烦 内存 内存是用来存储全局变量、局…