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

前言

在计算机视觉和人工智能领域,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.hqwc.cn/news/120989.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT的ui设计中改变样式表的用法

在QT的ui设计中,我们右键会弹出一个改变样式表的选项,很多人不知道这个是干什么的。 首先我们来看下具体的界面 首先我们说一下这个功能具体是干嘛的, 我们在设置很多控件在界面上之后,常常都是使用系统默认的样式,但是当有些时候为了美化界面我们需要对一些控件进行美化…

Swift 周报 第三十八期

文章目录 前言新闻和社区苹果自研调制解调器芯片受挫:速度太慢容易过热,落后高通 3 年App Store 现已接受适用于最新版操作系统的 App 和游戏提交 提案通过的提案正在审查的提案驳回的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swift 编辑组…

搭建自己的搜索引擎之三

一、前言 接上一篇 搭建自己的搜索引擎之二,本篇主要讲一下我们如何操作ElasticSearch,就是最简单的增删改查命令怎么写。 二、几个概念 搭建自己的搜索引擎之一 这篇文章我们对比搜索引擎在做海量数据实时查询优于关系型数据库的一些原因&#xff0c…

Vue之ElementUI实现登陆及注册

目录 ​编辑 前言 一、ElementUI简介 1. 什么是ElementUI 2. 使用ElementUI的优势 3. ElementUI的应用场景 二、登陆注册前端界面开发 1. 修改端口号 2. 下载ElementUI所需的js依赖 2.1 添加Element-UI模块 2.2 导入Element-UI模块 2.3 测试Element-UI是否能用 3.编…

Windows的批处理——获取系统时间、生成当天日期日志

Windows批处理基础https://coffeemilk.blog.csdn.net/article/details/132118351 一、Windows批处理的日期时间 在我们进行软件开发的过程中,有时候会使用到一些批处理命令,其中就涉及到获取系统日期、时间来进行一些逻辑的判断处理;那么我们…

VIBRO-METER SIM-275D-24 200-582-200-011 控制主板模块产品特点

VIBRO-METER SIM-275D-24 200-582-200-011 控制主板模块是用于振动监测和控制系统的重要组成部分,其主要功能是接收和处理振动传感器的数据,以监测旋转设备的状态并执行必要的控制操作。以下是这个控制主板模块的一些可能特点和功能: 振动数据…

uni-app 之 文字分两行显示超出用省略号表示

uni-app 之 文字分两行显示超出用省略号表示 vue 将一大串文字分两行显示超出用省略号表示 通过css设置文字强制不换行超出用省略号表示: {white-space: nowrap; 文本强制不换行;text-overflow:ellipsis; 文本溢出显示省略号;overflow:hidden; 溢出的部…

【MATLAB第77期】基于MATLAB代理模型算法的降维/特征排序/数据处理回归/分类问题MATLAB代码实现【更新中】

【MATLAB第77期】基于MATLAB代理模型算法的降维/特征排序/数据处理回归/分类问题MATLAB代码实现 本文介绍基于libsvm代理模型算法的特征排序方法合集,包括: 1.基于每个特征预测精度进行排序(libsvm代理模型) 2.基于相关系数corr的…

Windows中实现将bat或exe文件作为服务_且实现命令行安装、配置、启动、删除服务

一、背景描述 在Windows环境下进行日常的项目开发过程中,有时候需要将bat文件或exe文件程序注册为Windows的服务实现开机自己运行(没有用户登陆,服务在开机后也可以照常运行)、且对于那些没有用户交互界面的exe程序来说只要在后台…

使用KEIL自带的仿真器仿真遇到问题解决

*** error 65: access violation at 0x40021000 : no read permission 修改debug选项设置为下方内容。

数据结构:简单记录顺序表、链表、栈、队列

初学者很容易认为顺序表、链表、栈、队列是四种并列的数据结构,其实仔细想想并不是。 注意区分: 顺序表和链表是指数据的存储结构,是线性表的一种,顺序表一般指的就是数组,数据存储的逻辑顺序和物理顺序都是连续的&a…

ICMP差错包

ICMP报文分类 Type Code 描述 查询/差错 0-Echo响应 0 Echo响应报文 查询 3-目的不可达 0 目标网络不可达报文 差错 1 目标主机不可达报文 差错 2 目标协议不可达报文 差错 3 目标端口不可达报文 差错 4 要求分段并设置DF flag标志报文 差错 5 源路由…