Преврати сюжет MATLAB в изображение

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

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

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

Есть ли у вас какие-либо идеи?

2 ответа

Решение

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

F=getframe;
figure(2)
imagesc(F.cdata);

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

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

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().

Другие вопросы по тегам