Creating a pseudo-color image from a grayscale image

46 次查看(过去 30 天)
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!

采纳的回答

yanqi liu
yanqi liu 2021-9-26
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)

更多回答(2 个)

Sulaymon Eshkabilov
(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 个评论
Walter Roberson
Walter Roberson 2021-9-25
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
Image Analyst 2021-9-25
R = .....
G = .....
B = .....
cmap = [R(:), G(:), B(:)]
coloredImage = ind2rgb(grayImage, cmap);

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by