dlib库使用

最近的工作中用到了dlib这个库,该库是一个机器学习的开源库,使用起来很方便,直接包含头文件即可,并且不依赖于其他库(自带图像编解码库源码)。不过由于是开源的,所以bug多少有一些,我在example编译和使用时就遇到了一些问题,总结如下:

1.example编译

按照官网的指导,下载最新的18.18版本dlib,然后解压缩到某个路径。dlib库不用单独编译,只需要编译example,即可看到效果。根据README.txt文件中的步骤,在exmaple文件夹下,执行下面命令即可,

mkdir build

cd build

cmake ..

cmake --build .

但是一般在最后一步会遇到一些问题,导致编译失败,解决方法如下:

1.在dlib/CMakeLists.txt中 project(dlib) 的下一行添加set(Boost_USE_STATIC_LIBS ON)

2.把 if (DLIB_PNG_SUPPORT) (227行左右)这一行以下的这些代码进行注释,其余不变

         # try to find libpng
         #find_package(PNG QUIET)
         # Make sure there isn‘t something wrong with the version of LIBPNG
         # installed on this system.
         #if (PNG_FOUND)
            #set(CMAKE_REQUIRED_LIBRARIES ${PNG_LIBRARY})
            #CHECK_FUNCTION_EXISTS(png_create_read_struct LIBPNG_IS_GOOD)
         #endif()
         #if (PNG_FOUND AND LIBPNG_IS_GOOD)
            #include_directories(${PNG_INCLUDE_DIR})
            #set (dlib_needed_libraries ${dlib_needed_libraries} ${PNG_LIBRARY})
         #else()
            # If we can‘t find libpng then statically compile it in.

3.把 if (DLIB_JPEG_SUPPORT) (280行左右)这一行以下的这些代码进行注释,其余不变

         # try to find libjpeg
         #find_package(JPEG QUIET)
         # Make sure there isn‘t something wrong with the version of libjpeg
         # installed on this system.  Also don‘t use the installed libjpeg
         # if this is an APPLE system because apparently it‘s broken (as of 2015/01/01).
         #if (JPEG_FOUND)
            #set(CMAKE_REQUIRED_LIBRARIES ${JPEG_LIBRARY})
            #CHECK_FUNCTION_EXISTS(jpeg_read_header LIBJPEG_IS_GOOD)
         #endif()
         #if (JPEG_FOUND AND LIBJPEG_IS_GOOD AND NOT APPLE)
            #include_directories(${JPEG_INCLUDE_DIR})
            #set (dlib_needed_libraries ${dlib_needed_libraries} ${JPEG_LIBRARY})
         #else()
            # If we can‘t find libjpeg then statically compile it in.

这样应该就可以编译通过了,编译出的二进制文件应该也可以执行,如果执行时依然报错找不到jpeg或png库,再确认一下CMakeLists文件是否按照上述修改。

时间: 2024-10-06 13:11:09

dlib库使用的相关文章

dlib库学习之一

dlib库学习之一 1.介绍 跨平台 C++ 通用库 Dlib 发布 ,带来了一些新特性,包括概率 CKY 解析器,使用批量同步并行计算模型来创建应用的工具,新增两个聚合算法:中国低语 (Chinese Whispers) 和纽曼的模块化聚类. Dlib是一个使用现代C++技术编写的跨平台的通用库,遵守Boost Software licence. 主要特点如下: 1.完善的文档:每个类每个函数都有详细的文档,并且提供了大量的示例代码,如果你发现文档描述不清晰或者没有文档,告诉作者,作者会立刻添

基于windows系统中visual studio2017的dlib库详细配置安装流程

dlib库是一个非常强大的开源库,有详细的说明文档和c++代码,也提供了一些和python的接口,但是安装和配置的过程略有些麻烦,网上有一些相关教程,但是大都零零星星不全面.笔者亲自把所有的坑都踩了一遍,整理出了比较全面的教程,供大家参考 1.        下载安装包 先在dlib网站上下载最新的库文件http://dlib.net/,左边的一列是菜单栏,包括了dlib的使用场景.编译换几个.python接口等各种详细说明,可以看出该库的应用场景包括API打包.图像处理.线性代数.机器学习.网

Windows系统下 Python(Anaconda)的 Dlib 库 的安装

0. 引言 介绍 Windows 10 64位 系统下,利用 Anaconda 开发环境,在 Python 中安装 Dlib库 : windows 下 dlib 的安装十分不友好,所以在这里分享下安装过程: Windows10 + Anaconda + pip + Dlib : (借助 Anaconda 的话,不需要自己 build 和 make 源码, cmake 和 boost 这里不需要,操作友好很多) 1. Dlib的简介(官网:http://dlib.net/) Dlib 是一个机器学

【opencv基础】opencv和dlib库中rectangle类型之间的转换

前言 最近使用dlib库的同时也会用到opencv,特别是由于对dlib库的画图函数不熟悉,都想着转换到opencv进行show.本文介绍一下两种开源库中rectangle类型之间的转换. 类型说明 opencv中cv::Rect    以及opencv中的rectangle函数: void cv::rectangle( InputOutputArray img, Point pt1, Point pt2, const Scalar & color, int thickness = 1, int

Python利用Dlib库进行人脸识别

0.引言 自己在下载dlib官网给的example代码时,一开始不知道怎么使用,在一番摸索之后弄明白怎么使用了: 现分享下 face_detector.py 和 face_landmark_detection.py 这两个py的使用方法: 1.开发环境 python: 3.6.3 dlib: 19.7 2.py文件功能介绍 face_detector.py : 识别出图片文件中一张或多张人脸,并用矩形框框出标识出人脸: face_landmark_detection.py : 在face_det

[深度学习工具]·极简安装Dlib人脸识别库

[深度学习工具]·极简安装Dlib人脸识别库 Dlib介绍 Dlib是一个现代化的C ++工具箱,其中包含用于在C ++中创建复杂软件以解决实际问题的机器学习算法和工具.它广泛应用于工业界和学术界,包括机器人,嵌入式设备,移动电话和大型高性能计算环境.Dlib的开源许可证 允许您在任何应用程序中免费使用它.Dlib有很长的时间,包含很多模块,近几年作者主要关注在机器学习.深度学习.图像处理等模块的开发. 安装 此博文针对Windows10安装,其他平台可以仿照这个步骤来安装 安装Minicond

(原)ubuntu上安装dlib

转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5652791.html 参考网址: http://stackoverflow.com/questions/30042174/how-to-get-python-import-working-with-dlib-using-cmake-and-osx 在ubuntu14和ubuntu16上面都装过了,然而并没有什么卵用,因为我还是记不住怎么装的... 1. 下载dlib18.16(或其他版本,此处用的是

win10+anaconda+cuda配置dlib,使用GPU对dlib的深度学习算法进行加速(以人脸检测为例)

在计算机视觉和机器学习方向有一个特别好用但是比较低调的库,也就是dlib,与opencv相比其包含了很多最新的算法,尤其是深度学习方面的,因此很有必要学习一下.恰好最近换了一台笔记本,内含一块GTX1060的显卡,可以用来更快地跑深度学习算法.以前用公司HP的工作站配置过dlib,GPU是Quadro K420,用dlib自带的人脸识别算法(ResNet)测试过,相比较1060的速度确实要快上很多.dlib.cuda和cudnn的版本经常会更新,每次重新配置环境会遇到一些问题,在这里记下来吧.

python3+dlib人脸识别及情绪分析

一.介绍 我想做的是基于人脸识别的表情(情绪)分析.看到网上也是有很多的开源库提供使用,为开发提供了很大的方便.我选择目前用的比较多的dlib库进行人脸识别与特征标定.使用python也缩短了开发周期. 官网对于dlib的介绍是:Dlib包含广泛的机器学习算法.所有的设计都是高度模块化的,快速执行,并且通过一个干净而现代的C ++ API,使用起来非常简单.它用于各种应用,包括机器人技术,嵌入式设备,手机和大型高性能计算环境. 虽然应用都比较高大上,但是自己在PC上做个情绪分析的小软件还是挺有意