Преврати сюжет MATLAB в изображение - PullRequest
5 голосов
/ 16 декабря 2009

Я создал сюжет как

figure; hold;
axis([0 10 0 10]);
fill([ 1 1 5 5], [5 1 1 5],'b')

и теперь я хочу использовать этот график в качестве матрицы, чтобы можно было фильтровать блог по гауссиане. Googleing Я нашел эту тему Растрирование графика для изображения в MATLAB Central. Я попробовал это, но я мог заставить его работать только для линейных или функциональных графиков.

У вас есть идеи?

Ответы [ 2 ]

8 голосов
/ 17 декабря 2009

Вы можете использовать функцию GETFRAME. Возвращает структуру кадра фильма, которая фактически является растеризованной фигурой. Поле cdata будет содержать вашу матрицу.

F=getframe;
figure(2)
imagesc(F.cdata);
0 голосов
/ 16 декабря 2009

Каковы желаемые характеристики вашей целевой матрицы? А какие изображения вы хотите растеризовать?

Видите ли, для единственного примера, который вы дали нам, почти тривиально определить матрицу, представляющую ваше изображение ...

1. figmat = ones(10,10,3) % create a 10x10 raster where each entry is a triple for RGB, setting them all to 1 colours the whole raster white
2. figmat(2:5,2:5,1:2) = 0 % sets RG components in the coloured area to 0, leaving only blue

Ваша матрица является растром для начала. Теперь вы можете использовать встроенную функцию изображения для визуализации вашей матрицы. Посмотрите документацию по этой функции. И обратите внимание, что мое предложение не соответствует спецификации для использования с image () и colormap ().

...