Creating a pseudo-color image from a grayscale image

60 Ansichten (letzte 30 Tage)
cg
cg am 25 Sep. 2021
Beantwortet: yanqi liu am 26 Sep. 2021
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!

Akzeptierte Antwort

yanqi liu
yanqi liu am 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)

Weitere Antworten (2)

Sulaymon Eshkabilov
Sulaymon Eshkabilov am 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 Kommentar
Walter Roberson
Walter Roberson am 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.

Melden Sie sich an, um zu kommentieren.


Image Analyst
Image Analyst am 25 Sep. 2021
R = .....
G = .....
B = .....
cmap = [R(:), G(:), B(:)]
coloredImage = ind2rgb(grayImage, cmap);

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by