Win10环境python3.7安装dlib模块趟过的坑

好的。首先,需要明确一点,dlib模块对于Windows系统用户来说,安装起来相对来说比较麻烦。以下是Win10环境下python3.7安装dlib模块的攻略,具体步骤如下:

步骤一:安装CMake

dlib官网上需要下载CMake工具。下载地址:https://cmake.org/download/

这里选择 cmake-3.19.1-windows-x86_64.msi 版本,下载后进行安装。

步骤二:安装Visual Studio build tools

dlib没有Windows环境的wheel包,因此需要安装Visual Studio build tools进行本地编译。

打开Visual Studio官网,下载对应版本的Visual Studio build tools即可。这里选择了 Visual Studio Build Tools 2019,下载后进行安装。

步骤三:安装Boost

(1)在dlib官网上选择下载 Boost C++ Libraries 的源代码,并解压到一个文件夹中,例如 E:\libraries\boost_1_70_0

(2)打开Vistual Studio x64 Native Tools Command Prompt,切换到解压后的Boost源代码目录下,运行以下命令:

.\bootstrap.bat
.\b2

注意: 这里的命令使用了当前已安装的Visual Studio build tools版本。如果你使用其他版本的Visual Studio build tools,那么这里的命令也需要作出相应的调整。

步骤四:安装dlib

(1)确保已安装Python,推荐使用conda载入多个版本的Python,在命令行中运行以下命令安装依赖包:

conda install numpy pandas matplotlib

(2)在命令行中运行以下命令,安装dlib:

pip install dlib==19.18.0 --verbose --no-cache-dir --install-option= --fast-build --no-use-pep517

注意: dlib 需要特别慎重,建议在创建虚拟环境后进行安装。

这里给出一个使用dlib训练图像分类器的示例,代码如下:

import dlib
import cv2

# 加载训练数据
svm = cv2.ml.SVM_create()
svm.setType(cv2.ml.SVM_C_SVC)
svm.setKernel(cv2.ml.SVM_LINEAR)
svm.setTermCriteria((cv2.TERM_CRITERIA_MAX_ITER, 100, 1e-6))

# 加载图像数据并进行训练
data = dlib.get_frontal_face_detector() # 加载人脸检测器的数据
print('begin training')
for i in range(1, 41):
    # 加载当前训练数据集
    face_folder = 'faces/s' + str(i) + '/'

    for j in range(1, 11):
        # 加载当前图像
        image_path = face_folder + str(j) + '.pgm'
        img = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
        img = cv2.resize(img, (32, 32))
        hog = dlib.vector_to_matrix(dlib.extract_image_chip(img, dlib.rectangle(0, 0, 32, 32)))

        # 训练模型
        svm.train(hog, cv2.ml.ROW_SAMPLE, [i])

另外还有一个使用dlib进行人脸检测的示例,代码如下:

import dlib
import cv2

detector = dlib.get_frontal_face_detector() # 加载人脸检测器

image = cv2.imread('test.jpg')

# 缩小图像,加快计算速度
small_image = cv2.resize(image, (int(image.shape[1]/2), int(image.shape[0]/2)))

# 将图像从BGR格式转为RGB格式,因为dlib检测器只支持RGB格式
rgb_image = cv2.cvtColor(small_image, cv2.COLOR_BGR2RGB)

# 对图像进行人脸检测
dets = detector(rgb_image, 1)

# 遍历检测出的人脸位置
for i, d in enumerate(dets):
    cv2.rectangle(small_image, (d.left(), d.top()), (d.right(), d.bottom()), (0, 255, 0), 2)

cv2.imwrite('result.jpg', small_image)

希望对你有帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Win10环境python3.7安装dlib模块趟过的坑 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • 详解SQL报错盲注

    接下来我会详细讲解“详解SQL报错盲注”的攻略。 什么是SQL报错盲注 SQL报错盲注(Error-based Blind SQL Injection)指的是在进行SQL注入时,通过构造恶意的SQL语句触发目标网站SQL的错误提示,在错误提示中获取有关数据库的信息或功能,从而实现进行注入操作。 SQL报错盲注攻击过程 SQL报错盲注攻击过程分为以下几个步骤。…

    http 2023年5月13日
    00
  • Ajax中GET与POST请求操作方法梳理介绍

    下面就是“Ajax中GET与POST请求操作方法梳理介绍”的完整攻略。 1. GET请求操作方法 GET请求是一种常见的请求方式,可以通过URL的方式传递参数,它的语法格式如下: get(url, data, success, dataType); 其中,各个参数的含义如下:- url:请求地址,必选项。- data:请求参数,可以是字符串或者JSON对象,…

    http 2023年5月13日
    00
  • apache部署python程序出现503错误的解决方法

    当使用Apache部署Python程序时,有时会遇到503错误。这种错误通常是由于Apache无法连接到Python程序或Python程序崩溃导致的。以下是解决此问题的完整攻略: 检查Apache日志:首,我们需要检查Apache日志以查看错误的详细信息。Apache日志通常位于/var/log/apache2/目录下。我们使用以下命令查看Apache错误日…

    http 2023年5月13日
    00
  • IDEA 单元测试报错:Class not found:xxxx springboot的解决

    首先需要明确的是,单元测试是开发过程中重要的一环,能够帮助我们更早地发现程序中存在的问题,提高代码的质量。在使用IDEA进行单元测试时,有时会遇到“Class not found”错误提示,主要有以下几个原因: 没有在测试类的类路径下引入依赖项。 测试类文件夹结构不正确。 IDEA的构建配置不正确。 针对以上三个可能的原因,我们可以分别进行解决: 引入依赖项…

    http 2023年5月13日
    00
  • Vue开发中出现Loading Chunk Failed的问题解决

    要解决Vue开发中出现“Loading Chunk Failed”的问题,我们需要完成以下步骤: 检查网络连接 清除浏览器缓存 检查webpack配置 是详细的步骤说明: 步骤1:检查网络连接 首先,我们需要检查网络连接是否常。如果网络连接不稳定或断开,可能会导致“Loading Chunk Failed”的问题。我们可以尝试连接网络或者使用其他网络连接方式…

    http 2023年5月13日
    00
  • HTTP跨域访问异常的原因是什么?

    HTTP跨域访问异常是指客户端网页使用XMLHttpRequest或Fetch API发起HTTP请求,请求的目标资源与当前网页的域名不一致,导致出现安全限制,从而无法正常获取到该资源的数据的异常情况。具体原因是由于浏览器的同源策略所导致的。同源策略是现代浏览器的一个重要安全功能,其要求不同域名下的网页之间不能相互读取彼此的数据。只有在相同协议、主机和端口号…

    云计算 2023年4月27日
    00
  • python中出现invalid syntax报错的几种原因分析

    针对“python中出现invalid syntax报错”的问题,我们可以从以下几个方面进行排查: 1. 括号、引号等符号未匹配 如果代码中的括号、引号等符号未匹配,则会出现invalid syntax报错。例如以下代码: print(‘hello world!) 其中,最后一个引号缺失了一个闭合引号,导致程序无法解析,报错如下: File "&l…

    http 2023年5月13日
    00
  • 微信小程序报错: thirdScriptError的错误问题

    在开发微信小程序时,有时会遇到thirdScriptError的错误问题,这个问题通常是由于小程序中引用的第三方库或者插件出现了错误导致的。以下是解决这个的完整攻略: 解决方案 1. 检查第三方库或插件 首先,需要检查小程序中引用第三方库或插件是否存在问题。可以试升级或者降级第三方库或插件,或者使用其他的库或插件代替。 2. 检查代码 如果第三方库或插件没有…

    http 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部