2011-06-29 17 views
6

Tengo una imagen (png) que quiero poner debajo de un mapa de calor (por así decirlo) hecho de a y una matriz 2D de valores 0-1. Entonces, la intensidad del punto se decidiría por el tamaño del valor en la matriz.Superposición de imagen con matriz

Puedo usar imshow (matriz) pero eso dibuja completamente sobre la imagen debajo. ¿Es posible tal vez, no dibujar ningún píxel con los valores de matriz < .05 o de alguna otra manera para que esto funcione?

Respuesta

7

Aquí hay un ejemplo de superposición un mapa de calor binaria en la parte superior de una imagen de color:

%# some image 
I = im2double(imread('peppers.png')); 

%# I create here a random mask (gaussian centered in middle of image) 
[r,c,~] = size(I); 
[X Y] = meshgrid(1:r,1:c); 
Z = mvnpdf([X(:) Y(:)], [r c]./2, diag(15.*[r c])); 
Z = (Z-min(Z(:)))./range(Z(:)); 
Z = reshape(Z',[c r])'; 

%# show image and mask separately 
subplot(121), imshow(I) 
subplot(122), imshow(Z) 

%# show overlayed images 
figure, imshow(I), hold on 
hImg = imshow(Z); set(hImg, 'AlphaData', 0.6); 

%# also we can specify a colormap 
colormap hsv 

enter image description here enter image description here enter image description here

+0

Si utiliza una matriz 2-D con ' 'AlphaData'', a continuación, se puede aplicar mapa de colores en lugares selectivos, sin afectando otras regiones en la imagen. –

+1

@ ParagS.Chandakkar: sí, en el ejemplo anterior podemos usar la matriz de máscara 'Z' en sí como el mapa alfa:' h = imshow (I); set (h, 'AlphaData', Z) '(en cuyo caso la imagen se vuelve transparente mostrando el fondo gris de la figura detrás de ella) – Amro

1

el png cargado será una matriz tridimensional. Puede convertir la matriz binaria 2d en una 3d con repmat. A continuación, cambie el tamaño de la matriz binaria para que tenga el mismo tamaño que el png con imresize. Finalmente, puede mostrar las dos matrices combinadas con algo parecido a imshow (alpha (myPng) + (1-alfa) * (myBinaryMat)) donde alfa es un parámetro de fusión entre 0 y 1.

Cuestiones relacionadas