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

相关文章

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

详解C++中类的大小决定因数

《详解C++中类的大小决定因数》类的大小受多个因素影响,主要包括成员变量、对齐方式、继承关系、虚函数表等,下面就来介绍一下,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 非静态数据成员示例:2. 数据对齐(Padding)示例:3. 虚函数(vtable 指针)示例:4. 继承普通继承虚继承5.

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准