Renderizar la figura de MATLAB en la memoria

¿Hay alguna alternativa al uso?getframe ysaveas para guardar el contenido de una figura en una imagen ráster para su posterior procesamiento?

Enfoque 1:getframe

h = figure('visible', 'off');
a = axes('parent', h);

% render using `scatter3()` or other plot function.

content = frame2im(getframe(h));

Esto tiene el serio inconveniente de mostrar la figura para realizar una captura de pantalla en la llamada agetframe() y es problemático cuando se realiza tal render en un bucle (es decir, guardarcontent en cada iteración como un cuadro de video).

Enfoque 2:saveas

h = figure('visible', 'off');
a = axes('parent', h);

% render using `scatter3()` or other plot function.

saveas(h, '/path/to/file.png');
content = imread(/path/to/file.png');

Este enfoque tiene el serio inconveniente de escribir en el disco, que es problemático en aplicaciones multiproceso, además de ser más lento que el procesamiento directo en la memoria. Ya quesaveas() obviamente se renderizará en la memoria antes de invocar el codificador PNG, lo que quiero es posible, pero no puedo encontrar ninguna función en la documentación de MATLAB que solo realice la parte de representación.

Pregunta:

¿Conoces una forma alternativa de representar un arbitrarioaxes contenido a una imagen de trama?

Respuestas a la pregunta(4)

Su respuesta a la pregunta