eLynx SDK is C++ a cross-platform image library based on template technologies. It loads, saves, converts and filters a lots of image types with ease.
SDK API reference at:
http://elynxsdk.free.fr/API/html/
Image class for user: ImageVariant
http://elynxsdk.free.fr/API/html/classeLynx_1_1Image_1_1ImageVariant.html
eLynx toolkit supports:
- common tiff, jpeg, png, tga, gif, bmp and more specialized dng and fits file formats.
- color spaces: RGB, HLS, CIE XYZ, CIE Luv, CIE Lab, CIE Lch and Hunter Lab.
- Color Field Array images, raw from camera with Bayer matrix.
- 8-bit, 16-bit, 32-bit and 64-bit channel resolutions.
- additional alpha channel with grey and RGB color images.
Sample code:
// Split, process and merge an image in CIE Lab color space
const char * filenameIn = "../../datas/dans les îles.jpg";
ImageVariant image(filenameIn);
// Change image color space and resolution to CIE Lab floating point
bSuccess = image.ChangePixelFormat(PF_Labf);
// Split planes: L, a and b
ImageVariant L, a, b;
bSuccess = image.Split(L, a, b);
// Sharpen Luminance plane
bSuccess = L.ApplySharpen();
// scale a* plane
bSuccess = a.Mul(0.7);
// scale b* plane
bSuccess = b.Mul(0.5);
// Recompose image merging planes
image = ImageVariant(L, a, b, CS_CIE_Lab);
// Change image color space and resolution to RGBub before saving
bSuccess = image.ChangePixelFormat(PF_RGBub);
// Save image
const char * filenameOut = "output/plane-Lab-recomposed.png";
bSuccess = image.Save(filenameOut);
Version 3.0.1 includes:
-more documentation
-some bugfixes