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文件是否按照上述修改。
dlib库使用的更多相关文章
- dlib库学习之一
dlib库学习之一 1.介绍 跨平台 C++ 通用库 Dlib 发布 ,带来了一些新特性,包括概率 CKY 解析器,使用批量同步并行计算模型来创建应用的工具,新增两个聚合算法:中国低语 (Chines ...
- Windows7 x64 编译Dlib库
最近用到Dlib库,需要先编译. 本文利用 cmake + Sublime Text 2 + MinGW实现编译. 1. 下载dlib源码[dlib18.17]http://pan.baidu.com ...
- Windows系统下 Python(Anaconda)的 Dlib库 的安装
0.引言 介绍 Windows 10 64位系统下,利用 Anaconda 开发环境,在python中安装 Dlib库 : windows下dlib的安装十分不友好,所以在这里分享下安装过程: win ...
- python 中 dlib库的安装
安装 dlib 库的时候需要用到 CMake 进行本地编译,而Cmake又是基于Visual Studio运行的,我在装这个库的时候,各种找不到教程,就想着分享一下自己的经验. 32位 python3 ...
- Centos6.8 安装dlib库时出错【升级gcc 到4.9.0以上】
在centos6.8上安装dlib库时出现错误: 1.CMake must be installed to build the following extensions: dlib 没有安装CMake ...
- 【opencv基础】opencv和dlib库中rectangle类型之间的转换
前言 最近使用dlib库的同时也会用到opencv,特别是由于对dlib库的画图函数不熟悉,都想着转换到opencv进行show.本文介绍一下两种开源库中rectangle类型之间的转换. 类型说明 ...
- Dlib库中实现正脸人脸关键点(landmark)检测的测试代码
Dlib库中提供了正脸人脸关键点检测的接口,这里参考dlib/examples/face_landmark_detection_ex.cpp中的代码,通过调用Dlib中的接口,实现正脸人脸关键点检测的 ...
- Dlib库中实现正脸人脸检测的测试代码
Dlib库中提供了正脸人脸检测的接口,这里参考dlib/examples/face_detection_ex.cpp中的代码,通过调用Dlib中的接口,实现正脸人脸检测的测试代码,测试代码如下: #i ...
- Windows 下在 Python (Anaconda) 中安装 Dlib 库
0. 引言 介绍在 Windows 操作系统下,在 Python 的 Anaconda 集成环境中,安装 Dlib 库 : 对于不了解源码编译的,或者利用 cmake 方法失败的,可以尝试下此方法: ...
随机推荐
- Asp.Net MVC Filter 实现方式和作用范围控制
MVC中的Filte 简单又优雅的实现了AOP ,在日志,权限,缓存和异常处理等方面用的比较多.但本文不是讨论Filter这些功能点,而是总结Filter实现的方式.说实现也不太准确,也就是它的呈现方 ...
- onFocus="this.blur()"的解释
onFocus="this.blur()" onFocus即获取焦点的意思,而blur却是失去焦点的意思,因此onFocus="this.blur()"的通俗理 ...
- weblogic jetty debug 远程
- linux php环境搭建以及magento安装教程
听朋友用magento在搭建电商系统,我好奇.遂自己下载了一个包部署了一套. 主机采用linux center os6.5,安装程序非常顺利,部署一套大概费时一个小时左右. ########### ...
- vs emulator for android使用
在windows上调试android程序,可以利用hyperv虚拟化功能,微软也提供了模拟工具和android studio.eclipse的配置说明,不再累述. 关于启动vs模拟器的cmd命令: e ...
- paip.语义分析--单字词名词表
paip.语义分析--单字名词表 INSERT INTO t (word) SELECT DISTINCT word FROM `word_main` where tsisin is not n ...
- SpringIOC&AOP
Spring是为简化企业级系统开发而诞生的,Spring框架为J2EE应用常见的问题提供了简单.有效的解决方案,使用Spring,你可以用简单的POJO(Plain Old Java Object)来 ...
- Leetcode 26 Remove Duplicates from Sorted Array STL
题目本身是去重 由于我很懒,所以用了STL库里的unique函数来去重,小伙伴们可以考虑自己实现去重的函数,其实并不复杂. class Solution { public: int removeDup ...
- android: 实现跨程序数据共享
简单起见,我们还是在上一章中 DatabaseTest 项目的基础上继续开发,通过内容提供器 来给它加入外部访问接口. 打开 DatabaseTest 项目,首先将 MyDatabaseHelper ...
- git的几十个基本面
1.下载git?git-scm.com 2.获取帮助git helpgit help config 3.什么是Git?版本控制系统,Version Control System, VCS.它允许我们提 ...