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

实验要求:
这里写图片描述

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

实验结果:
原图像:
原图像

伪彩色处理后的图像:
这里写图片描述

原文地址:https://www.cnblogs.com/xuhongbin/p/7134155.html