1.基于灰度图像的伪彩色处理
代码展示:
clear all;
close all;
I = double(rgb2gray(imread('图片1.jpg')));
[M N] = size(I);
I2 = zeros(M, N, 3); %初始化三通道
for x = 1 : M
for y = 1 : N
if I(x, y) <= 127 % R
I2(x, y, 1) = 0;
elseif I(x, y) <= 191
I2(x, y, 1) = 4 * I(x, y) - 510;
else
I2(x, y, 1) = 255;
end
if I(x, y) <= 63 % G
I2(x, y, 2) = 254 - 4 * I(x, y);
elseif I(x, y) <= 127
I2(x, y, 2) = 4 * I(x, y) - 254;
elseif I(x, y) <= 191
I2(x, y, 2) = 255;
else
I2(x, y, 2) = 1022 - 4 * I(x, y);
end
if I(x, y) <= 63 % B
I2(x, y, 3) = 255;
elseif I(x, y) <= 127
I2(x, y, 3) = 510 - 4 * I(x, y);
else
I2(x, y, 3) = 0;
end
end
end
imshow(uint8(I2));

2.基于灰度分层的伪彩色图像
代码展示:
I=imread('图片1.jpg');
I=rgb2gray(I)
imshow(I) %显示灰度图像
thresholds= [45 65 84 108 134 157 174 189 206 228]; %设置阈值
G2C=grayslice(I,thresholds); % 密度分层
figure;
mymap =