Exporting images (png) through export_fig - painfully slow

30 views (last 30 days)
John Cruce
John Cruce on 17 Sep 2021
Answered: yanqi liu on 26 Nov 2021 at 3:07
I'm using export_fig to export a figure to a high resolution png and it's painfully slow. Takes about 36 seconds to perform the export. I also see the following warning upon export:
Warning: print2array generating a 83.6M pixel image. This could be slow and might also cause memory problems
Any suggestions on alternatives to speed up this portion of my code?
export_fig('-dpng','-opengl','-r450',sprintf('C:\\Users\\Username\\Documents\\%s',datetimelabel));

Answers (4)

Image Analyst
Image Analyst on 19 Sep 2021
Try comparing it to exportgraphics() but you'd need r2020a or later.

Yair Altman
Yair Altman on 19 Sep 2021
Try to either reduce the resolution (the -r450 part), or to save as a vector-graphics image (PDF/EPS) rather than a PNG bitmap.

Oliver Woodford
Oliver Woodford on 24 Oct 2021
Reducing the level of anti-aliasing will reduce the sixe of the images created, saving time. Use the '-aX' option, where X is 1 to 4 (faster to slower).

yanqi liu
yanqi liu on 26 Nov 2021 at 3:07
yes,sir,may be use getframe or print,such as
f=getframe(gcf);
f=frame2im(f);
imwrite(f, './result.tif');
or
print(gcf,'-dpng','-r200','result')

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by