📄 lyr.m
字号:
function lyr()
test=imread('i_i.jpg');
fid1=fopen('mtbl1','w')
fid2=fopen('mtbl2','w')
fid3=fopen('mtbl3','w')
mian=fopen('mian','w')
map1=int32(0.000000);
map=double(test);
for i=1:240
k=0;
for j=1:284
map1(i,j,1)=test(i,j,1);
k=k+map1(i,j,1);
fprintf(fid1,'%i',map1(i,j,1));
end
fprintf(fid1,'\n');
k=k/284;
k(i)=abs(k);
fprintf(mian,'%i \n',k(i));
end
fclose(fid1);
for i=1:240
m=int32(0.000000);
for j=1:284
m=m + ((map1(i,j,1)-k(i))^2.000);
end
m=m/284.000;
m=double(m);
l=(sqrt(m));
m(i)=l;
fprintf(fid2,'%g\n',m(i));
end
fclose(fid2);
map1=double(map1);
fid4=fopen('mtbl2','r');
m=fscanf(fid4,'%g');
fclose(fid4);
for i=1:240
double t;
t=m(i);
for j=1:284
map(i,j,1)=(map1(i,j,1)-k(i))/t;
fprintf(fid3,'%g',map(i,j,1));
end
% imshow(map);
fprintf(fid3,'\n');
end
fclose(fid3);
fid5=fopen('mian','r');
n=fscanf(fid5,'%g');
fclose(fid5);
mn=min(n);
mx=max(n);
rang=round((mx-mn)/5);
display(rang);
map2=double(map1);
newm1 =mn+rang;
newm2=mn+2*rang;
newm3=mn+3*rang;
newm4=mn+4*rang;
newm5=mn+5*rang;
p1=1;
p2=1;
p3=1;
p4=1;
p5=1;
flag1=0;
flag2=0;
flag3=0;
flag4=0;
flag5=0;
for i=1:240
for j=1:284
if map1(i,j,1)<=(mn+rang)
if flag1==0
newm1=map1(i,j,1);
ai(p1)=i;
aj(p1)=j;
p1=p1+1;
flag1=1;
% map2(i,j,1)=0;
% map3(i,j,1)=1;
else
newm1=(newm1+map1(i,j,1))/p1;
ai(p1)=i;
aj(p1)=j;
p1=p1+1;
end
else
if map1(i,j,1)>(mn+rang) & map1(i,j,1)<=(mn+2*rang)
if flag2==0
newm2=map1(i,j,1);
bi(p2)=i;
bj(p2)=j;
p2=p2+1;
flag2=1;
% map2(i,j,1)=128;
% map3(i,j,1)=0.8;
else
newm2=(newm2+map1(i,j,1))/p2;
bi(p2)=i;
bj(p2)=j;
p2=p2+1;
end
else
if map1(i,j,1)>(mn+2*rang) & map1(i,j,1)<=(mn+3*rang)
if flag3==0
newm3=map1(i,j,1);
ci(p3)=i;
cj(p3)=j;
p3=p3+1;
flag3=1;
% map2(i,j,1)=255;
% map3(i,j,1)=0.1;
else
newm3=(newm3+map1(i,j,1))/p3;
ci(p3)=i;
cj(p3)=j;
p3=p3+1;
end
else
if map1(i,j,1)>(mn+3*rang) & map1(i,j,1)<=(mn+4*rang)
if flag4==0
newm4=map1(i,j,1);
di(p4)=i;
dj(p4)=j;
p4=p4+1;
flag4=1;
% map2(i,j,1)=255;
% map3(i,j,1)=0.5;
else
newm4=(newm4+map1(i,j,1))/p4;
di(p4)=i;
dj(p4)=j;
p4=p4+1;
end
else
if map1(i,j,1)>(mn+4*rang) & map1(i,j,1)<=(mn+5*rang)
if flag5==0
newm5=map1(i,j,1);
ei(p5)=i;
ej(p5)=j;
p5=p5+1;
flag5=1;
% map2(i,j,1)=0.4;
else
newm5=(newm5+map1(i,j,1))/p5;
ei(p5)=i;
ej(p5)=j;
p5=p5+1;
end
end
end
end
end
end
end
end
% imshow(map2(:,:,1));
% figure(5);
% imshow(map3(:,:,1));
for i=1:p1-1
map2(ai(i),aj(i),1)=0.33;
end
for i=1:p2-1
map2(bi(i),bj(i),1)=0.15;
end
for i=1:p3-1
map2(ci(i),cj(i),1)=0.25;
end
for i=1:p4-1
map2(di(i),dj(i),1)=0.49;
end
for i=1:p5-1
map2(ei(i),ej(i),1)=0.65;
end
figure(1);
imshow(map2(:,:,1));
% ai
% aj
% bi
% bj
% ci
% cj
% di
% dj
% ei
% ej
% -------------------------------------------------------------------------
% -------------------------------------------------------------------------
fid1=fopen('mtbl1','w')
fid2=fopen('mtbl2','w')
fid3=fopen('mtbl3','w')
mian=fopen('mian','w')
map1=int32(0.000000);
map=double(test);
for i=1:240
k=0;
for j=1:284
map1(i,j,2)=test(i,j,2);
k=k+map1(i,j,2);
fprintf(fid1,'%i',map1(i,j,2));
end
fprintf(fid1,'\n');
k=k/284;
k(i)=abs(k);
fprintf(mian,'%i \n',k(i));
end
fclose(fid1);
for i=1:240
m=int32(0.000000);
for j=1:284
m=m + ((map1(i,j,2)-k(i))^2.000);
end
m=m/284.000;
m=double(m);
l=(sqrt(m));
m(i)=l;
fprintf(fid2,'%g\n',m(i));
end
fclose(fid2);
map1=double(map1);
fid4=fopen('mtbl2','r');
m=fscanf(fid4,'%g');
fclose(fid4);
for i=1:240
double t;
t=m(i);
for j=1:284
map(i,j,1)=(map1(i,j,2)-k(i))/t;
fprintf(fid3,'%g',map(i,j,2));
end
% imshow(map);
fprintf(fid3,'\n');
end
fclose(fid3);
fid5=fopen('mian','r');
n=fscanf(fid5,'%g');
fclose(fid5);
mn=min(n);
mx=max(n);
rang=round((mx-mn)/5);
display(rang);
map2=double(map1);
map3=double(map1);
newm1 =mn+rang;
newm2=mn+2*rang;
newm3=mn+3*rang;
newm4=mn+4*rang;
newm5=mn+5*rang;
p1=1;
p2=1;
p3=1;
p4=1;
p5=1;
flag1=0;
flag2=0;
flag3=0;
flag4=0;
flag5=0;
for i=1:240
for j=1:284
if map1(i,j,2)<=(mn+rang)
if flag1==0
newm1=map1(i,j,2);
ai(p1)=i;
aj(p1)=j;
p1=p1+1;
flag1=1;
% map2(i,j,1)=0;
% map3(i,j,1)=1;
else
newm1=(newm1+map1(i,j,2))/p1;
ai(p1)=i;
aj(p1)=j;
p1=p1+1;
end
else
if map1(i,j,2)>(mn+rang) & map1(i,j,2)<=(mn+2*rang)
if flag2==0
newm2=map1(i,j,2);
bi(p2)=i;
bj(p2)=j;
p2=p2+1;
flag2=1;
% map2(i,j,1)=128;
% map3(i,j,1)=0.8;
else
newm2=(newm2+map1(i,j,2))/p2;
bi(p2)=i;
bj(p2)=j;
p2=p2+1;
end
else
if map1(i,j,2)>(mn+2*rang) & map1(i,j,2)<=(mn+3*rang)
if flag3==0
newm3=map1(i,j,2);
ci(p3)=i;
cj(p3)=j;
p3=p3+1;
flag3=1;
% map2(i,j,1)=255;
% map3(i,j,1)=0.1;
else
newm3=(newm3+map1(i,j,2))/p3;
ci(p3)=i;
cj(p3)=j;
p3=p3+1;
end
else
if map1(i,j,2)>(mn+3*rang) & map1(i,j,2)<=(mn+4*rang)
if flag4==0
newm4=map1(i,j,2);
di(p4)=i;
dj(p4)=j;
p4=p4+1;
flag4=1;
% map2(i,j,1)=255;
% map3(i,j,1)=0.5;
else
newm4=(newm4+map1(i,j,2))/p4;
di(p4)=i;
dj(p4)=j;
p4=p4+1;
end
else
if map1(i,j,2)>(mn+4*rang) & map1(i,j,2)<=(mn+5*rang)
if flag5==0
newm5=map1(i,j,2);
ei(p5)=i;
ej(p5)=j;
p5=p5+1;
flag5=1;
% map2(i,j,1)=0.4;
else
newm5=(newm5+map1(i,j,2))/p5;
ei(p5)=i;
ej(p5)=j;
p5=p5+1;
end
end
end
end
end
end
end
end
% imshow(map2(:,:,1));
% figure(5);
% imshow(map3(:,:,1));
for i=1:p1-1
map2(ai(i),aj(i),2)=0.33;
end
for i=1:p2-1
map2(bi(i),bj(i),2)=0.15;
end
for i=1:p3-1
map2(ci(i),cj(i),2)=0.25;
end
for i=1:p4-1
map2(di(i),dj(i),2)=0.49;
end
for i=1:p5-1
map2(ei(i),ej(i),2)=0.65;
end
figure(2);
imshow(map2(:,:,2));
%
%
% % % -------------------------------------------------------------------------
% % % -------------------------------------------------------------------------
% %
% %
fid1=fopen('mtbl1','w')
fid2=fopen('mtbl2','w')
fid3=fopen('mtbl3','w')
mian=fopen('mian','w')
map1=int32(0.000000);
map=double(test);
for i=1:240
k=0;
for j=1:284
map1(i,j,3)=test(i,j,3);
k=k+map1(i,j,3);
fprintf(fid1,'%i',map1(i,j,3));
end
fprintf(fid1,'\n');
k=k/284;
k(i)=abs(k);
fprintf(mian,'%i \n',k(i));
end
fclose(fid1);
for i=1:240
m=int32(0.000000);
for j=1:284
m=m + ((map1(i,j,3)-k(i))^2.000);
end
m=m/284.000;
m=double(m);
l=(sqrt(m));
m(i)=l;
fprintf(fid2,'%g\n',m(i));
end
fclose(fid2);
map1=double(map1);
fid4=fopen('mtbl2','r');
m=fscanf(fid4,'%g');
fclose(fid4);
for i=1:240
double t;
t=m(i);
for j=1:284
map(i,j,1)=(map1(i,j,3)-k(i))/t;
fprintf(fid3,'%g',map(i,j,3));
end
% imshow(map);
fprintf(fid3,'\n');
end
fclose(fid3);
fid5=fopen('mian','r');
n=fscanf(fid5,'%g');
fclose(fid5);
mn=min(n);
mx=max(n);
rang=round((mx-mn)/5);
display(rang);
map11=double(map1);
newm1 =mn+rang;
newm2=mn+2*rang;
newm3=mn+3*rang;
newm4=mn+4*rang;
newm5=mn+5*rang;
p1=1;
p2=1;
p3=1;
p4=1;
p5=1;
for i=1:240
for j=1:284
if map1(i,j,3)<=(mn+rang)
if flag1==0
newm1=map1(i,j,3);
ai(p1)=i;
aj(p1)=j;
p1=p1+1;
flag1=1;
% map2(i,j,1)=0;
% map3(i,j,1)=1;
else
newm1=(newm1+map1(i,j,3))/p1;
ai(p1)=i;
aj(p1)=j;
p1=p1+1;
end
else
if map1(i,j,3)>(mn+rang) & map1(i,j,3)<=(mn+2*rang)
if flag2==0
newm2=map1(i,j,3);
bi(p2)=i;
bj(p2)=j;
p2=p2+1;
flag2=1;
% map2(i,j,1)=128;
% map3(i,j,1)=0.8;
else
newm2=(newm2+map1(i,j,3))/p2;
bi(p2)=i;
bj(p2)=j;
p2=p2+1;
end
else
if map1(i,j,3)>(mn+2*rang) & map1(i,j,3)<=(mn+3*rang)
if flag3==0
newm3=map1(i,j,3);
ci(p3)=i;
cj(p3)=j;
p3=p3+1;
flag3=1;
% map2(i,j,1)=255;
% map3(i,j,1)=0.1;
else
newm3=(newm3+map1(i,j,3))/p3;
ci(p3)=i;
cj(p3)=j;
p3=p3+1;
end
else
if map1(i,j,3)>(mn+3*rang) & map1(i,j,3)<=(mn+4*rang)
if flag4==0
newm4=map1(i,j,3);
di(p4)=i;
dj(p4)=j;
p4=p4+1;
flag4=1;
% map2(i,j,1)=255;
% map3(i,j,1)=0.5;
else
newm4=(newm4+map1(i,j,3))/p4;
di(p4)=i;
dj(p4)=j;
p4=p4+1;
end
else
if map1(i,j,3)>(mn+4*rang) & map1(i,j,3)<=(mn+5*rang)
if flag5==0
newm5=map1(i,j,3);
ei(p5)=i;
ej(p5)=j;
p5=p5+1;
flag5=1;
% map2(i,j,1)=0.4;
else
newm5=(newm5+map1(i,j,3))/p5;
ei(p5)=i;
ej(p5)=j;
p5=p5+1;
end
end
end
end
end
end
end
end
% imshow(map2(:,:,1));
% figure(5);
% imshow(map3(:,:,1));
for i=1:p1-1
map2(ai(i),aj(i),3)=0.33;
end
for i=1:p2-1
map2(bi(i),bj(i),3)=0.15;
end
for i=1:p3-1
map2(ci(i),cj(i),3)=0.25;
end
for i=1:p4-1
map2(di(i),dj(i),3)=0.49;
end
for i=1:p5-1
map2(ei(i),ej(i),3)=0.65;
end
figure(3);
imshow(map2(:,:,3));
figure(4);
imshow(map2);
%
%
%
% % % -------------------------------------------------------------------------
% % % -------------------------------------------------------------------------
% %
% %
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -