Overlay strain map on scan (colored plot over black and white plot)
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Frederick Houghton
le 9 Juin 2022
Commenté : Frederick Houghton
le 9 Juin 2022
I am attempting to make a graphic for a presentation in which I would like to throw a strain map over a black and white image used for texture correlation. I currently have been unable to create separate colorbars, resulting in a colored scan or a black and white strain map. I've attached an image of what I'm moreorless trying to capture but can't seem to produce.

The code below takes a 400x200 uint8 (for the BW image), and a 400x200 double (for the strain map). The values outside of the strain map in the structure are labeled as NaN. Likewise, transparency is currently set to 1s and 0s accordingly. I haven't included any of my own data here for a reference image or for running the code for privacy reasons.
f3 = figure( 3 );
%Exx strain map
image( dataIMG( :, :, frame ) ); hold on;
imagesc( exx_plot, 'AlphaData', transparency );
colormap( 'jet' );
caxis( [0 0.15] );
colorbar;
0 commentaires
Réponse acceptée
DGM
le 9 Juin 2022
Modifié(e) : DGM
le 9 Juin 2022
Take the image you want to be grayscale and expand it to mxnx3 so that it isn't colormapped anymore:
For example,
% a grayscale image with some transparency
FG = imread('fg.png');
FGA = imread('fga.png');
opacity = 0.5;
% a grayscale image, but expanded
BG = imread('cameraman.tif');
BG = repmat(BG,[1 1 3]);
imshow(BG); hold on
hfg = imshow(FG);
hfg.AlphaData = FGA*opacity;
colormap(parula)
If you want both images to be colormapped independently, then you'll have to do it by overlaying two axes objects, since each axes can only have one colormap.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Red dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
