伪彩色图像增强/密度分割法 matlab实现

基本原理:

它是对图像的灰度图值动态范围进行分割,使分割后的每一个灰度值区间甚至每一灰度值本身对应某一颜色。
具体而言,假定把一幅图像看作一个二维的强度函数,可以用一个平行于图像坐标平面的密度切割平面去切割图像的强度函数,这样,强度函数在分割处被分为上,下两部分,即两个灰度值区间。更进一步,如果用多个密度切割平面对图像函数进行分割,那么就可以将图像函数分割成多个区间,每一个区间赋予一个颜色,则原来的一幅灰度图像可以变成一个彩色图像。

程序:

%密度分割法
%wangwenshuai 2021/4/2
clc;

%读取图片并转换模式
P = imread('test7.png');
P = rgb2gray(img);

%创建三个通道的全零矩阵
[h,w]=size(P);
R=zeros(h,w);
G=zeros(h,w);
B=zeros(h,w);

%设置灰度级数阈值(满足2L<=255即可)
L=125;

%各像素点进行密度级划分并上色
for i=1:h
    for j=1:w
        if(P(i,j)>=0&&P(i,j)<L/4)
            
               R(i,j)=100;
               G(i,j)=0;
               B(i,j)=100;
           
            else if(P(i,j)>=L/4&&P(i,j)<L/2)
                    
                     R(i,j)=100;
                     G(i,j)=0;
                     B(i,j)=0;
                     
                 else if(P(i,j)>=L/2&&P(i,j)<3*L/4)
                         
                          R(i,j)=0;
                          G(i,j)=100;
                          B(i,j)=0;  
                          
                       else if(P(i,j)>=3*L/4&&P(i,j)<L)
                               
                             R(i,j)=0;
                             G(i,j)=100;
                             B(i,j)=100;    
                             
                       end
                 end
            end
        end
    end
end

%输出
imshow(cat(3,R,G,B));

运行结果:

伪彩色图像增强/密度分割法 matlab实现_第1张图片
原图:
伪彩色图像增强/密度分割法 matlab实现_第2张图片

你可能感兴趣的:(matlab,色彩模式,计算机视觉)