How to get a RGB matrix from a figure generated by MATLAB

I make a figure with the help of PATCH command. (let's say 40k quad or tri individual patches) Then I'd like to get a RGB matrix from this figure.
Option 1 : cdata = print(fig,'-RGBImage') but it seems very inefficient in term of time consumption.
Option 2 : GETFRAME but appears to be very sensitive to the number of patch.
I'd like to use a more efficient way to do that since this is the bottle neck of the whole process.
Any idea of alternative or optimisation?

Answers (2)

is imread inefficient too? imread

1 Comment

You can't use imread() to pull a picture from an axes control.

Sign in to comment.

I'd try getting cdata from the axes itself and not using print. I think that's like a low level trick. Otherwise, getframe() is the main way that you're supposed to do it.

Categories

Find more on Images in Help Center and File Exchange

Products

Asked:

on 28 May 2015

Answered:

on 29 May 2015

Community Treasure Hunt

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

Start Hunting!