A modern C++ library with a focus on portability and application correctness with a platform abstraction layer for common tasks.
Also, dlib includes a platform abstraction layer for common tasks such as interfacing with network services, handling threads, or creating graphical user interfaces.
NOTE: dlib is licensed and distributed under the terms of the Boost Software License (BSL1.0).
- Very portable
- All non ISO C++ code is located in the OS abstraction layers which are as small as possible (about 9% of the library). The rest of the objects in the library are either layered on top of the OS abstraction layer or are pure ISO C++.
- Big/little endian agnostic.
- No assumptions are made about structure byte packing.
- Many container classes. What makes these containers different from what can be found in the STL is how they move objects into and out of themselves. Rather than copying things around everything is moved around by swapping. This allows you to do things like have containers of containers of containers. They also have simpler interfaces.
- There are many versions of each container with different performance characteristics so you have great flexibility in choosing exactly what you want.
- Many of the containers perform all their allocations through the memory_manager object and unlike the STL there is no requirement that different instances of the memory manager/allocator be able to free objects allocated from each other. This allows for much more interesting memory manager implementations.
- All containers are serializable.
In a hurry? Add it to your Download Basket!
What's New in This Release:
- New Features:
- AAdded save_jpeg()
- Added the option to use an identity matrix prior to vector_normalizer_frobmetric.
- Made the extract_image_chips() routine more flexible, in particular: Added get_mapping_to_chip(), get_face_chip_details(), map_det_to_chip(), and also upgraded chip_details so you can specify a chip extraction by a bunch of point correspondences between the chip and the original image.