The hottest hdr imaging library
PICCANTE is a C++11 image processing library aimed to provide structures and functionalities for enabling both High Dynamic Range (HDR) and standard imaging.
Piccante uses STB image library for reading and writing PNG and JPEG files. STB can be downloaded here: https://github.com/nothings/stb
By default this library is needed to run all examples, and needs to be localed as follow:
-folder
+___"piccante"
+___"stb"
If you have STB in the system path you can disable the local path include system by adding the following define before including piccante.hpp:
#define PIC_DISABLE_STB
To disable the use of STB, you can add the following define before including piccante.hpp:
#define PIC_DISABLE_STB_LOCAL
-
Unzip the file .zip in a FOLDER on your machine
-
Add piccante include directory in your include path
-
Include "piccante.hpp" in your project
When you use parts or the full source code of this project in your own project, please remember to cite this project both in your project webpage and in its source code. This SHOULD be done even when you convert this code into another programming language.
Be kind.
Please, send your pull requests to the develop branch.
Francesco Banterle
Luca Benedetti
Piccante is distributed under the MPL 2.0 license: https://www.mozilla.org/MPL/2.0/
If you use PICCANTE in your work, please cite it using this reference:
@misc{banterle:pic:2014,
Author = {Francesco Banterle and Luca Benedetti},
Title = {{PICCANTE: An Open and Portable Library for HDR Imaging}},
Year = {2014},
Howpublished = {\url{ http://vcg.isti.cnr.it/piccante }}
}
Question: Can I disable OpenGL?
Answer: Yes, you can do it. You need to add this line of code before including piccante.hpp in your project:
#define PIC_DISABLE_OPENGL
#include "piccante.hpp"
Question: Can I use my version of Eigen instead of the one in the bundle?
Answer: Yes, you can do it. You just need to add this line of code before including piccante.hpp in your project:
#define PIC_EIGEN_NOT_BUNDLED
#include "piccante.hpp"
Question: Can I use OpenEXR instead of TinyEXR?
Answer: Yes, you can do it. You just need to add these two lines of code before including piccante.hpp in your project:
#define PIC_DISABLE_TINY_EXR
#define PIC_ENABLE_OPEN_EXR
#include "piccante.hpp"
Piccante can be used for generating HDR images starting from a stack of classic 8-bit images.
Piccante can manage different color spaces, and new ones can be added to its core with ease.
Piccante provides algorithms for tone mapping HDR images in order to be visualized on traditional displays.
Piccante can filter images using a high quality selection of linear and non linear filters.
Piccante can extract local features for different tasks such as image alignments, classification, 3D reconstruction, etc.