savepng is a very efficient PNG image compression MEX-routine that outperforms MatLab's built-in imwrite in compression times and produced file sizes. For a typical figure size at the default compression level, savepng is ~5.8 times faster, with file size only 17% bigger than imwrite. At the highest compression level, savepng is still ~2.8 times faster, with produced file sizes 15% smaller.
PNG encoding is based on public-domain MINIZ library.
Usage
savepng(CDATA,filename[,Compression])
Where,
* CDATA -- is a standard MatLab image m-by-n-by-3 matrix. This matrix can be obtained using getframe command or, for a faster implementation, undocumented hardcopy command
* filename -- file name of the image to write. Don't forget to add .png to the file name.
* Compression -- Optional input argument. This argument takes on a number between 0 and 4095 controlling the amount of compression to try to achieve with PNG file. 0 implies no compresson, fastest option. 4095 implies the most amount of compression, slowest option. Default value is 8.
Up-to-date version, a more detailed help, bugs/issues tracking can all be found here:
https://github.com/stefslon/savepng |