2010-07-14 2 views
2

Просто представьте, что вы рисуете несколько точек, кругов, линий на фигуре. Впоследствии другой m-файл должен использовать этот график в качестве входного файла, например. пороговая. Я знаю команду печати, но я не хочу, чтобы график был сохранен как файл. Я бы предпочел сохранить его в матрице (x_dim, y_dim, 3). Есть идеи?Сохраните график в Matlab как матрицу

ответ

2

Вы должны проверить функции getframe и frame2im, чтобы преобразовать объект фигуры или осей в матрицу изображений.

+0

GETFRAME & FRAME2IM похоже, что они обеспечивают функциональность, которую я искал. К сожалению, захваченное разрешение крайне плохое. Исходный размер изображения, где я сделал сюжет, - 2048x4096. После разрешения GETFRAME и FRAME2IM до 513x1025! Любая идея почему? –

+0

@Josef St .: Функция GETFRAME фиксирует то, что вы видите на экране в окне рисунка. Если вы рисуете изображение (используя, скажем, команду IMAGE), изображение может быть уменьшено до размера окна фигуры, и когда окно фигуры будет захвачено GETFRAME, вы получите меньшее изображение, чем раньше. Вы должны проверить эти связанные вопросы SO: http://stackoverflow.com/questions/1848176/how-do-i-save-a-plotted-image-and-maintain-the-original-image-size-in-matlab , http://stackoverflow.com/questions/575475/how-can-i-save-an-altered-image-in-matlab – gnovice

0

Как насчет сохранения изображения? Вы можете использовать getframe, чтобы получить объект фрейма F, где F.cdata содержит значения RGB. Не забудьте использовать опцию 'border', 'tight', чтобы избежать захвата границ.

Смежные вопросы