Creating a pseudo-color image from a grayscale image
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
How would I create a pseudo-color image from a grayscale image? I need to use the attached formulas to map the intensity to three color channels R, G, B. Then, I need to merge the channels to get the pseudocolor image.
I am very lost so any help would be appreciated!
0 commentaires
Réponse acceptée
yanqi liu
le 26 Sep 2021
sir, may be you can ref the follow code
clc; clear all; close all;
im = imread('cameraman.tif');
x = double(im);
c1 = 0.5; c2 = 0.8; c3 = 0.3; c4 = 0.6;
rx = x .* (1 + c1*sin(pi*x./255) + c2*(1-cos(2*pi*x./255)));
gx = x .* (1 + c3*sin(pi*x./255) + c4*(1-cos(2*pi*x./255)));
bx = 3*x - rx - gx;
rgb = mat2gray(cat(3, rx, gx, bx));
figure; imshow(rgb)
0 commentaires
Plus de réponses (2)
Sulaymon Eshkabilov
le 25 Sep 2021
(1) Embed these three equations for variable x and c1, c2, c3, c4 values
(2) Concatenate R, G, B that becomes the pseudocolor image.
1 commentaire
Walter Roberson
le 25 Sep 2021
In particular,
RGB = cat(3, R, G, B);
Depending on the range of values of R, G, B, and the data type, you might need to normalize the matrix.
Image Analyst
le 25 Sep 2021
R = .....
G = .....
B = .....
cmap = [R(:), G(:), B(:)]
coloredImage = ind2rgb(grayImage, cmap);
0 commentaires
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
