code.m

来自「this is a matlab code for an ieee paper 」· M 代码 · 共 58 行

M
58
字号
clear all;
% Reading image 
y=imread('test.jpg');
x=double(y);
a=size(x);
w(:,:)=(255*ones(a(1),a(2)));
% Normalising R,G,B values
for i=1:1:a(1);
    for j=1:1:a(2);
Y(i,j,1)=x(i,j,1)/w(i,j);
Y(i,j,2)=x(i,j,2)/w(i,j);
Y(i,j,3)=x(i,j,3)/w(i,j); 
    end;
end;
Y1=Y;
for i=1:1:a(1);
    for j=1:1:a(2);
    r=Y(i,j,1);
    g=Y(i,j,2);
    b=Y(i,j,3);
    l=(r+g+b);
    % Defining s-type enhancement function
    if l<=(.25) && l>=(0)
    fl=.25*(l/.25)^2;
    elseif l>(.25) && l<=(3)
    fl=3-(3-.25)*(((3-l)/(3-.25))^2);        
    end;
    % Enhancing the color levels linearly
    alpha=fl/l;
    if alpha<=1
        Y(i,j,1)=alpha*r;
        Y(i,j,2)=alpha*g;
        Y(i,j,3)=alpha*b;
    else
        nr=1-r;
        ng=1-g;
        nb=1-b;
        nl=3-l;
        gl=3-fl;
        nalpha=gl/nl;
        Y(i,j,1)=1-nalpha*nr;
        Y(i,j,2)=1-nalpha*ng;
        Y(i,j,3)=1-nalpha*nb;
    end;
end;
end;
for i=1:1:a(1);
    for j=1:1:a(2);        
Y2(i,j,1)=Y(i,j,1)*w(i,j);
Y2(i,j,2)=Y(i,j,2)*w(i,j);
Y2(i,j,3)=Y(i,j,3)*w(i,j);
Y1(i,j,1)=Y1(i,j,1)*w(i,j);
Y1(i,j,2)=Y1(i,j,2)*w(i,j);
Y1(i,j,3)=Y1(i,j,3)*w(i,j);
    end;
end;
figure(1);imshow(uint8(Y1));
figure(2);imshow(uint8(Y2));    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?