Dlib C++ 算法库

2024-02-04 01:48
文章标签 算法 c++ dlib

本文主要是介绍Dlib C++ 算法库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://dlib.net

看上去很不错;


The Library
  • Algorithms
  • API Wrappers
  • Bayesian Nets
  • Compression
  • Containers
  • Graph Tools
  • Image Processing
  • Linear Algebra
  • Machine Learning
  • Metaprogramming
  • Miscellaneous
  • Networking
  • Optimization
  • Parsing

Help/Info
  • Examples: C++
    • Assignment_Learning
    • Base64_Encoder
    • Bayesian_Network
    • Bayesian_Network_From_Disk
    • Bayesian_Network_GUI
    • Bridge
    • BSP
    • Cmd_Line_Parser
    • Compress_Stream
    • Config_File_Reader
    • Custom_Trainers
    • Directory_Navigation
    • Empirical_Kernel_Map
    • Face_Detection
    • FHOG_Feature_Extraction
    • FHOG_Object_Detection
    • Graph_Labeling
    • GUI
    • HTTP_Server
    • Image
    • IO Socket Streams
    • IO Streams Server
    • Kernel_Centroid
    • Kernel_K-Means_Clustering
    • Kernel_Ridge_Regression
    • Kernel_RLS_Filtering
    • Kernel_RLS_Regression
    • KRR_Classification
    • Linear_Manifold_Regularizer
    • Logger
    • Logger_Advanced
    • Matrix
    • Matrix_Expressions
    • Member_Function_Pointer
    • Model_Selection
    • Multiclass_Classification
    • Multithreaded_Object
    • Neural_Network
    • Non-Linear Least Squares
    • Numerical_Integration
    • Object_Detector
    • Object_Detector_Advanced
    • One_Class_Classifiers
    • Online_SVM
    • Optimization
    • Parallel_For_Loops
    • Pipe
    • Pipe_2
    • Quantum_Computing
    • Queue
    • Rank_Features
    • Relevance_Vector_Classification
    • Relevance_Vector_Regression
    • Running_Stats
    • Sequence_Labeling
    • Sequence_Segmentation
    • Sockets
    • Sockstreambuf
    • Sparse_Vectors
    • Std_C++_Allocator
    • Structural_Support_Vector_Machines
    • Support_Vector_Machine
    • Support_Vector_Regression
    • SURF
    • SVM-Rank
    • Threaded_Object
    • Threads
    • Thread_Function
    • Thread_Pool
    • Timer
    • Train_Object_Detector
    • Using_Custom_Kernels
    • XML_Parser
  • Examples: Python
  • FAQ
  • Home
  • How to compile
  • How to contribute
  • Index
  • Introduction
  • License
  • Python API
  • Suggested Books

Current Release
  • Change Log
  • Release Notes
  • Version: 18.6

Sourceforge
  • Download dlib
  • Forums
  • Summary
  • Who uses dlib?
 









Get dlib C++ Library at SourceForge.net. Fast, secure and Free Open Source software downloads


Last Modified:
Feb 03, 2014

Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. It is open source software and licensed under the Boost Software License. The introduction contains everything you need to know to get started using the library. However, if you have any questions, comments, or complaints feel free to email me or post in the sourceforge Forums.


Major Features

  • Documentation
    • Unlike a lot of open source projects, this one provides complete and precise documentation for every class and function. There are also debugging modes that check the documented preconditions for functions. When this is enabled it will catch the vast majority of bugs caused by calling functions incorrectly or using objects in an incorrect manner.
    • Lots of example programs are provided
    • I consider the documentation to be the most important part of the library. So if you find anything that isn't documented, isn't clear, or has out of date documentation, tell me and I will fix it.
  • High Quality Portable Code
    • Good unit test coverage. The ratio of unit test lines of code to library lines of code is about 1 to 4.
    • The library is tested regularly on MS Windows, Linux, and Mac OS X systems. However, it should work on any POSIX system and has been used on Solaris, HPUX, and the BSDs.
    • No other packages are required to use the library. Only APIs that are provided by an out of the box OS are needed.
    • There is no installation or configure step needed before you can use the library. See the How to compile page for details.
    • All operating system specific code is isolated inside the OS abstraction layers which are kept as small as possible. The rest of the library is either layered on top of the OS abstraction layers or is pure ISO standard C++.
  • Threading
    • The library provides a portable and simple threading API
    • A message passing pipe for inter-thread and inter-processcommunication
    • A timer object capable of generating events that are regularly spaced in time
    • Threaded objects
    • Threaded functions
    • Parallel for loops
    • A thread_pool with support for futures
  • Networking
    • The library provides a portable and simple TCP sockets API
    • An object to help you make TCP based servers
    • iostream and streambuf objects that enables TCP sockets to interoperate with the C++ iostreams library
    • A simple HTTP server object you can use to embed a web server into your applications
    • A message passing pipe for inter-thread and inter-processcommunication
    • A tool used to implement algorithms using the Bulk Synchronous Parallel (BSP) computing model
  • Graphical User Interfaces
    • The library provides a portable and simple core GUI API
    • Implemented on top of the core GUI API are numerous widgets
    • Unlike many other GUI toolkits, the entire dlib GUI toolkit is threadsafe
  • Numerical Algorithms
    • A fast matrix object implemented using the expression templates technique and capable of using BLAS and LAPACK libraries when available.
    • Numerous linear algebra and mathematical operations are defined for the matrix object such as the singular value decomposition, transpose,trig functions, etc.
    • General purpose unconstrained non-linear optimization algorithms using the conjugate gradient, BFGS, and L-BFGS techniques
    • Levenberg-Marquardt for solving non-linear least squares problems
    • Box-constrained derivative-free optimization via the BOBYQA algorithm
    • An implementation of the Optimized Cutting Plane Algorithm
    • Several quadratic program solvers
    • Combinatorial optimization tools for solving optimal assignment andmin cut/max flow problems as well as the CKY algorithm for finding the most probable parse tree
    • A big integer object
    • A random number object
  • Machine Learning Algorithms
    • Conventional SMO based Support Vector Machines for classification andregression
    • Reduced-rank methods for large-scale classification and regression
    • Relevance vector machines for classification and regression
    • General purpose multiclass classification tools
    • A Multiclass SVM
    • A tool for solving the optimization problem associated with structural support vector machines.
    • Structural SVM tools for sequence labeling
    • Structural SVM tools for solving assignment problems
    • Structural SVM tools for object detection in images
    • Structural SVM tools for labeling nodes in graphs
    • A large-scale SVM-Rank implementation
    • An online kernel RLS regression algorithm
    • An online SVM classification algorithm
    • Semidefinite Metric Learning
    • An online kernelized centroid estimator/novelty detector and offline support vector one-class classification
    • Clustering algorithms: linear or kernel k-means, Chinese Whispers, andNewman clustering.
    • Radial Basis Function Networks
    • Multi layer perceptrons
  • Graphical Model Inference Algorithms
    • Join tree algorithm for exact inference in a Bayesian network.
    • Gibbs sampler markov chain monte carlo algorithm for approximate inference in a Bayesian network.
    • Routines for performing MAP inference in chain-structured, Potts, orgeneral factor graphs.
  • Image Processing
    • Routines for reading and writing common image formats.
    • Automatic color space conversion between various pixel types
    • Common image operations such as edge finding and morphological operations
    • Implementations of the SURF, HOG, and FHOG feature extraction algorithms.
    • Tools for detecting objects in images including a frontal face detector.
  • Data Compression and Integrity Algorithms
    • A CRC 32 object
    • MD5 functions
    • Various abstracted objects representing parts of data compressionalgorithms. Many forms of the PPM algorithm are included.
  • Testing
    • A thread safe logger object styled after the popular Java logger log4j
    • A modular unit testing framework
    • Various assert macros useful for testing preconditions
  • General Utilities
    • A type-safe object to convert between big and little endian byte orderings
    • A command line parser with the ability to parse and validate command lines with various types of arguments and options
    • An XML parser
    • An object that can perform base64 conversions
    • Many container classes
    • Serialization support
    • Many memory manager objects that implement different memory pooling strategies

这篇关于Dlib C++ 算法库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/676050

相关文章

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

C++作用域和标识符查找规则详解

《C++作用域和标识符查找规则详解》在C++中,作用域(Scope)和标识符查找(IdentifierLookup)是理解代码行为的重要概念,本文将详细介绍这些规则,并通过实例来说明它们的工作原理,需... 目录作用域标识符查找规则1. 普通查找(Ordinary Lookup)2. 限定查找(Qualif

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

C++/类与对象/默认成员函数@构造函数的用法

《C++/类与对象/默认成员函数@构造函数的用法》:本文主要介绍C++/类与对象/默认成员函数@构造函数的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录名词概念默认成员函数构造函数概念函数特征显示构造函数隐式构造函数总结名词概念默认构造函数:不用传参就可以

C++类和对象之默认成员函数的使用解读

《C++类和对象之默认成员函数的使用解读》:本文主要介绍C++类和对象之默认成员函数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、默认成员函数有哪些二、各默认成员函数详解默认构造函数析构函数拷贝构造函数拷贝赋值运算符三、默认成员函数的注意事项总结一

C/C++中OpenCV 矩阵运算的实现

《C/C++中OpenCV矩阵运算的实现》本文主要介绍了C/C++中OpenCV矩阵运算的实现,包括基本算术运算(标量与矩阵)、矩阵乘法、转置、逆矩阵、行列式、迹、范数等操作,感兴趣的可以了解一下... 目录矩阵的创建与初始化创建矩阵访问矩阵元素基本的算术运算 ➕➖✖️➗矩阵与标量运算矩阵与矩阵运算 (逐元