Exporting images (png) through export_fig - painfully slow

32 Ansichten (letzte 30 Tage)
John Cruce
John Cruce am 17 Sep. 2021
Beantwortet: yanqi liu am 26 Nov. 2021
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));

Antworten (4)

Yair Altman
Yair Altman am 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.

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

Oliver Woodford
Oliver Woodford am 24 Okt. 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 am 26 Nov. 2021
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')

Produkte


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by