2009-12-16 13 views
5

He generado una parcela comoEncienda una parcela de MATLAB en la imagen

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

y ahora yo quiero tener esta trama como una matriz de modo que pueda decir un filtrado del blog con un gaussiano. Googleing Encontré este hilo Rasterizing Plot to Image en MATLAB Central. Lo intenté, pero solo pude hacerlo funcionar para gráficos de líneas o funciones.

¿Tiene alguna idea?

+0

Lo sé, hice el ejemplo muy simple/trivial. Pero con la respuesta que marqué, uno puede rasterizar tramas incluso arbitrarias fácilmente. – Framester

Respuesta

8

Puede usar la función GETFRAME. Devuelve la estructura del cuadro de la película, que en realidad es una figura rasterizada. Cdata de campo contendrá su matriz.

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

¿Cuáles son las características deseadas de su matriz objetivo? ¿Y qué tipo de imágenes quieres rasterizar?

Usted ve, para el único ejemplo que nos han dado es casi trivial para definir una matriz que representa su imagen ...

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 

Su matriz es una trama para empezar. Ahora puede usar la imagen de función incorporada para visualizar su matriz. Echa un vistazo a la documentación para esa función. Y tenga en cuenta que mi sugerencia no cumple con las especificaciones para usar con image() y colormap().

Cuestiones relacionadas