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?

回答 (2 件)

Katarzyna Wieciorek
Katarzyna Wieciorek 2015 年 5 月 29 日

0 投票

is imread inefficient too? imread

1 件のコメント

Image Analyst
Image Analyst 2015 年 5 月 29 日
You can't use imread() to pull a picture from an axes control.

サインインしてコメントする。

Image Analyst
Image Analyst 2015 年 5 月 29 日

0 投票

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.

カテゴリ

ヘルプ センター および File ExchangeImages についてさらに検索

製品

質問済み:

2015 年 5 月 28 日

回答済み:

2015 年 5 月 29 日

Community Treasure Hunt

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

Start Hunting!

Translated by