Add transparency to colormap
Afficher commentaires plus anciens
Hi,
How can I add transparency to a colormap 2D?
I have the following code and I am using the version R2016a of MATLAB.
function covFunc( mapa, minPrx, maxPrx, arrayPrx )
wallMask(:,:,1) = mapa.img(:,:,1) ~= 255 & mapa.img(:,:,2) ~= 255 & mapa.img(:,:,3) ~= 255;
cover = (arrayPrx') .* ~wallMask + wallMask.*minPrx;
cover = cover + 0 * wallMask;
cover = (arrayPrx') .* wallMask;
imshow(cover);
caxis([minPrx maxPrx]) % Set colormap limits
colormap (jet(round((maxPrx-minPrx/50))))
colorbar
end
I need that the image stays intact and the new colors created by the color map stay transparent.
Réponses (1)
Image Analyst
le 11 Août 2020
Modifié(e) : Image Analyst
le 11 Août 2020
I'd probably create a new RGB image with the colormap and ind2rgb(). Then take a weighted average of them
rgbImage = cat(3, grayImage, grayImage, grayImage);
rgbOverlay = ind2rgb(grayImage, cmap);
factor = 0.6; % 60% or whatever.
rbgOutput = uint8(factor * double(rgbImage) + (1-factor) * 255 * rg0bOverlay);
4 commentaires
Oliver Lestrange
le 11 Août 2020
Image Analyst
le 11 Août 2020
Modifié(e) : Image Analyst
le 11 Août 2020
No, it's the output of imread(). Try this:
grayImage = imread('moon.tif');
rgbImage = cat(3, grayImage, grayImage, grayImage);
cmap = jet(256);
rgbOverlay = ind2rgb(grayImage, cmap);
factor = 0.6; % 60% or whatever.
rgbOutput = uint8(factor * double(rgbImage) + (1-factor) * 255 * rgbOverlay);
% Show everything
subplot(2, 2, 1);
imshow(grayImage);
title('Original Gray Scale Image');
subplot(2, 2, 2);
imshow(rgbOverlay);
title('Colormapped Image');
subplot(2, 2, 3);
imshow(rgbOutput);
title('Blended Image');

Once you have an RGB image, you wouldn't use a color bar - that's used only for indexed images.
Oliver Lestrange
le 11 Août 2020
Modifié(e) : Oliver Lestrange
le 16 Août 2020
Image Analyst
le 16 Août 2020
You forgot to attach your script and your image. So, how can I help? cmap can be as many colors as you want to quantize it into. I have no idea what your maxPrx and minPrx are.
Catégories
En savoir plus sur Blue dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!