?? code.m
字號:
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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -