实验要求:
上面的实验要求中Objective(实验目的)部分是错误的。
然而在我拿到的大纲中就是这么写的,所以请忽视那部分,其余部分是没有问题的。
本实验是使用伪彩色强调突出我们感兴趣的灰度范围,在实验要求中制定了一些强调的对象。在程序中我们遍历所有的像素,判断其灰度级,如果在我们感兴趣的那一特定范围内,就使用彩色显示出来,即伪彩色图像处理。
实验代码:
%
close all;
clc;
clear all;
%
img = imread('Fig6.22(a).jpg');
figure;
% subplot(2,1,1);
imshow(img);
title('original image');
%
img = double(img);
[M, N] = size(img);
gray_level = 256;
R = zeros(M, N);
G = zeros(M, N);
B = zeros(M, N);
for i = 1:M
for j = 1:N
if(img(i, j) < gray_level/4)
R(i, j) = 0;
G(i, j) = 4 * img(i, j);
B(i, j) = gray_level;
else if(img(i, j) < gray_level/2)
R(i, j) = 0;
G(i, j) = gray_level;
B(i, j) = gray_level/2 - 4 * img(i, j);
else if(img(i, j) < 3*gray_level/4)
R(i, j) = 4 * img(i, j) - gray_level*2;
G(i, j) = gray_level;
B(i, j) = 0;
else
R(i, j) = gray_level;
G(i, j) = 4 * gray_level - 4 * img(i, j);
B(i, j) = 0;
end
end
end
end
end
%
img1 = zeros(M, N);
for i = 1:M
for j = 1:N
img1(i, j, 1) = R(i, j);
img1(i, j, 2) = G(i, j);
img1(i, j, 3) = B(i, j);
end
end
img1 = img1 / 256;
%
% subplot(2,1,2);
figure;
imshow(img1);
title('Pseudo-Color');
实验结果:
原图像:
伪彩色处理后的图像: