您的位置:首页 > 编程语言 > MATLAB

数字图像处理实验(15):PROJECT 06-02,Pseudo-Color Image Processing 标签: 图像处理MATLAB 2017-05-27 20:53

2017-05-27 20:53 1316 查看

实验要求:

上面的实验要求中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');

实验结果:
原图像:

伪彩色处理后的图像:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐