| cimg ( @ 2005-06-02 09:12:00 |
CImg 1.0.9 Released
I want to announce the release of the final 1.0.9 version, which is finally out after 5 beta versions. It seems that it's quite stable now, so I decided to release it. There are lot of changes since the 1.0.8 version, so I highly recommend to look at the CHANGELOG, before switching to this new version.
Note that strict compatibility between successive CImg versions are NOT ensured, since the interface of the library is evolving slightly, in order to 'converge' into a simple-to-use and coherent image processing library. Anyway, changes are often MINOR between versions, so it wouldn't be a pain to update your own source code to the newest version. As the CImg Library only consists on a single header file, you can also easily keep the old working versions with your source code.
The next CImg version will be the 1.1 version, that denotes a significative version jump. My goal for the next version includes a complete writting of the reference documentation. If you have any (coherent) request, let me know. Below is the CHANGELOG :
*-----------------------------
*-----------------------------
* Changes from 1.0.8 to 1.0.9
*-----------------------------
*-----------------------------
* Bug corrections :
- In CImg::load_convert() and save_convert(), random filenames are now tested before read/write.
- Removed unuseful template in 1D CImg::draw_gaussian() function.
- Recoded CImgDisplay::render() with XPutPixel() again for maximum compability between X11-based architectures.
- In CImgStats, the variance field was computed actually as the standart deviation. This is now corrected, and the variance
is really the variance !
* Optimizations / Modifications :
- CImgDisplay fields mousex and mousey changed to fields mouse_x and mouse_y. This is done to be more coherent
with other CImgDisplay fields. The inconvenience should be minor, just replace the fields by the right names.
- CImgDisplay functions window_posx() and window_posy() changed to fields window_x and window_y.
- Eigenvalue computation with CImg::eigen() and symeigen() sorts the eigenvalues in inverse order from now on.
The eigenvector matrix is also transposed, to be more close to the standart functions in eigenvalue computation.
- Renamed macro variable 'cimg_lapack' in 'cimg_use_lapack'.
- CImg::save() can now handle alpha channel in PNG images (with 4-channels images).
- Recoded CImg::noise() to handle numerical limits in template types (esp. for unsigned char and char).
- Recoded CImg::pow() to be faster with usual int powers (0,1,2,3,4).
- Added conversions functions for all color spaces (R,G,B), (X,Y,Z), (x,y,Y) and (L,a,b).
- Added a 'pattern' parameter in 'CImg::draw_ellipse()' and 'CImg::draw_circle()', so that
only the outline of the ellipse/circle can be drawn.
- Added an ellipse-based selection in CImg::feature_selection(), when parameter 'feature_type' is set to 3.
* New features/functions :
- Added an 'Image Zoomer' demo in 'CImg_test.cpp'.
- Added 'CImg::load_jpeg()' and 'CImg::save_jpeg()' to deal natively with JPEG files, through
the libjpeg library. You don't need ImageMagick's convert anymore to read and save JPEG files.
Just define the macro 'cimg_use_jpeg before including 'CImg.h', and link your code with the 'jpeg' lib,
and it should work fine.
- Added 'CImg::quicksort()' allowing to sort values inside vectors, and getting corresponding permutations.
- CImgDisplay::move() is now working well on Windows and Unix.
- Added 'CImg::SVD()' to compute the SVD of general matrices. The inverse function as well
as the eigenvalue computation (of symmetric matrices) now uses the SVD. It means that LAPACK is
not necessary anymore in CImg !
- Added 'CImgDisplay::screen_dimx()' and 'CImgDisplay::screen_dimy()' to get the resolution of the
current (full) screen.
- Added a new 10x13 font, and recoded the functions 'CImgl::get_font();'
- Added 'cimg::dialog()' that allows to open a simple dialog box with a maximum of 6 choices.
- Added CImgROI::operator=(), so that one can now affect a channel or plane to an image :
img.ref_plane(2) = img_plane; Very useful !
- Added CImg::load_png() and save_png() to deal natively with PNG files, through
the zlib and libpng libraries. You don't need ImageMagick's convert anymore
to read and save PNG files. Just define the macro 'cimg_use_png' before including
'CImg.h', and link your code with the 'zlib' and the 'png' lib, and it should work fine.
Many thanks to Eric Fausett, for this nice piece of code.
- Added CImg::load_rgb(), load_rgba(), save_rgb() and save_rgba() that can load and save
Raw color image data (w/ or wo/ alpha channel).
- Added CImg::blur_anisotropic() that allows to denoise image by anisotropic filtering.
Smoothing behavior can be even user-defined.
Look at " http://www.greyc.ensicaen.fr/~dtsch ump/greycstoration/ "
to learn more about the image regularization technique implemented by this function.
- ... an tons of minor corrections !
I want to announce the release of the final 1.0.9 version, which is finally out after 5 beta versions. It seems that it's quite stable now, so I decided to release it. There are lot of changes since the 1.0.8 version, so I highly recommend to look at the CHANGELOG, before switching to this new version.
Note that strict compatibility between successive CImg versions are NOT ensured, since the interface of the library is evolving slightly, in order to 'converge' into a simple-to-use and coherent image processing library. Anyway, changes are often MINOR between versions, so it wouldn't be a pain to update your own source code to the newest version. As the CImg Library only consists on a single header file, you can also easily keep the old working versions with your source code.
The next CImg version will be the 1.1 version, that denotes a significative version jump. My goal for the next version includes a complete writting of the reference documentation. If you have any (coherent) request, let me know. Below is the CHANGELOG :
*-----------------------------
*-----------------------------
* Changes from 1.0.8 to 1.0.9
*-----------------------------
*-----------------------------
* Bug corrections :
- In CImg
- Removed unuseful template in 1D CImg
- Recoded CImgDisplay::render() with XPutPixel() again for maximum compability between X11-based architectures.
- In CImgStats, the variance field was computed actually as the standart deviation. This is now corrected, and the variance
is really the variance !
* Optimizations / Modifications :
- CImgDisplay fields mousex and mousey changed to fields mouse_x and mouse_y. This is done to be more coherent
with other CImgDisplay fields. The inconvenience should be minor, just replace the fields by the right names.
- CImgDisplay functions window_posx() and window_posy() changed to fields window_x and window_y.
- Eigenvalue computation with CImg
The eigenvector matrix is also transposed, to be more close to the standart functions in eigenvalue computation.
- Renamed macro variable 'cimg_lapack' in 'cimg_use_lapack'.
- CImg
- Recoded CImg
- Recoded CImg
- Added conversions functions for all color spaces (R,G,B), (X,Y,Z), (x,y,Y) and (L,a,b).
- Added a 'pattern' parameter in 'CImg
only the outline of the ellipse/circle can be drawn.
- Added an ellipse-based selection in CImg
* New features/functions :
- Added an 'Image Zoomer' demo in 'CImg_test.cpp'.
- Added 'CImg
the libjpeg library. You don't need ImageMagick's convert anymore to read and save JPEG files.
Just define the macro 'cimg_use_jpeg before including 'CImg.h', and link your code with the 'jpeg' lib,
and it should work fine.
- Added 'CImg
- CImgDisplay::move() is now working well on Windows and Unix.
- Added 'CImg
as the eigenvalue computation (of symmetric matrices) now uses the SVD. It means that LAPACK is
not necessary anymore in CImg !
- Added 'CImgDisplay::screen_dimx()' and 'CImgDisplay::screen_dimy()' to get the resolution of the
current (full) screen.
- Added a new 10x13 font, and recoded the functions 'CImgl
- Added 'cimg::dialog()' that allows to open a simple dialog box with a maximum of 6 choices.
- Added CImgROI
img.ref_plane(2) = img_plane; Very useful !
- Added CImg
the zlib and libpng libraries. You don't need ImageMagick's convert anymore
to read and save PNG files. Just define the macro 'cimg_use_png' before including
'CImg.h', and link your code with the 'zlib' and the 'png' lib, and it should work fine.
Many thanks to Eric Fausett, for this nice piece of code.
- Added CImg
Raw color image data (w/ or wo/ alpha channel).
- Added CImg
Smoothing behavior can be even user-defined.
Look at " http://www.greyc.ensicaen.fr/~dtsch
to learn more about the image regularization technique implemented by this function.
- ... an tons of minor corrections !