.


:




:

































 

 

 

 





- , . . , . :

1. .

2. .

3. .

.

, .

, (. 1).

, , , . , , , . 2.

, , . 2 . 1.

. 1. .

. 2. , .

. [2], , .

:

(9)

- , - ; - ; , - , - (, ), , - ; - .

(9). - (9), . 3. , .

. 3. (1 - , 2 - (9)).

. 3 , . . (9). , . .

%, % clear;%===== =====L=imread('image1.tif');[N M]=size(L);m=15;n=15;n1=fix(n/2);m1=fix(m/2);%=== =====a=L(1,1);b=L(1,M);c=L(N,1);d=L(N,M);for i=1:n1; for j=1:m1; L1(i,j)=a; L3(i,j)=b; L6(i,j)=c; L8(i,j)=d; end;end; L2=L(1,1:M); L02=L2; for i=1:n1-1; L2=[L2;L02]; end; L7=L(N,1:M); L07=L7; for i=1:n1-1; L7=[L7;L07]; end; L4=L(1:N,1); L4=L4'; L04=L4; for i=1:m1-1; L4=[L4;L04]; end; L4=L4'; L5=L(1:N,M); L5=L5'; L05=L5; for i=1:m1-1; L5=[L5;L05]; end; L5=L5'; L1=[L1;L4]; L1=[L1;L6]; L1=L1'; L2=[L2;L]; L2=[L2;L7]; L2=L2'; L3=[L3;L5]; L3=[L3;L8]; L3=L3'; L1=[L1;L2]; L1=[L1;L3]; Lr=L1';clear L2;clear L3;clear L4;clear L5;clear L6;clear L7;clear L8;clear L02;clear L04;clear L05;clear L07;clear L1;clear L;%===== =====Entropia=ones(N+2*n1,M+2*m1); for i=1+n1:N+n1; disp(i) for j=1+n1:M+m1; if j==1+m1; D=0; for a=-n1:n1; for b=-m1:m1; D(n1+1+a,m1+1+b)=Lr(i+a,j+b); end; end; end; if j>1+m1; for a=-n1:n1; D(n1+1+a,m+1)=Lr(i+a,j+m1); end; D=D(1:n,2:m+1); end; Pk_vektor=hist(D(:),max(max(D))-min(min(D))+1)/(n*m); for ind=1:length(Pk_vektor); if Pk_vektor(ind)==0; Pk_vektor(ind)=1; end; end; Entropia(i,j)=-sum(Pk_vektor.*log(Pk_vektor)); end; end;n_filter=3;m_filter=n_filter;F=ones(n_filter,m_filter);Lser=filter2(F,Lr,'same')/(n_filter*m_filter);clear n_filter;clear m_filter;clear F;amax=.7;amin=.5;%===== =====C=abs(Lr-Lser)./(Lr+Lser+eps);alfa=amin+.2.*(1-exp(-((Entropia./max(max(Entropia))-.5).^2)./(2*.14^2))).^3;C=C.^alfa;for i=1+n1:N+n1;for j=1+n1:M+m1; if Lr(i,j)>=Lser(i,j); Lvyh(i,j)=Lser(i,j)*(1+C(i,j))/(1-C(i,j)+eps); else Lvyh(i,j)=Lser(i,j)*(1-C(i,j))/(1+C(i,j)); end; %===== ===== if Lvyh(i,j)>=255; Lvyh(i,j)=255; end; if Lvyh(i,j)<=0; Lvyh(i,j)=0; end;end;end;Lvyh=Lvyh(n1+1:N+n1,m1+1:M+m1);Lvyh=round(Lvyh);L=Lr(n1+1:N+n1,m1+1:M+m1);%===== =====colormap(gray(255));subplot(221);image(L');axis('image'); subplot(222);image(Lvyh');axis('image'); .
) )
) )

. - : ) ; ) , ; ) , ; ) , .

%, % .clear;%===== =====L=imread('image2.tif');[N M]=size(L);m=15;n=15;n1=fix(n/2);m1=fix(m/2);%=== =====a=L(1,1);b=L(1,M);c=L(N,1);d=L(N,M);for i=1:n1; for j=1:m1; L1(i,j)=a; L3(i,j)=b; L6(i,j)=c; L8(i,j)=d; end;end; L2=L(1,1:M); L02=L2; for i=1:n1-1; L2=[L2;L02]; end; L7=L(N,1:M); L07=L7; for i=1:n1-1; L7=[L7;L07]; end; L4=L(1:N,1); L4=L4'; L04=L4; for i=1:m1-1; L4=[L4;L04]; end; L4=L4'; L5=L(1:N,M); L5=L5'; L05=L5; for i=1:m1-1; L5=[L5;L05]; end; L5=L5'; L1=[L1;L4]; L1=[L1;L6]; L1=L1'; L2=[L2;L]; L2=[L2;L7]; L2=L2'; L3=[L3;L5]; L3=[L3;L8]; L3=L3'; L1=[L1;L2]; L1=[L1;L3]; Lr=L1';clear L2;clear L3;clear L4;clear L5;clear L6;clear L7;clear L8;clear L02;clear L04;clear L05;clear L07;clear L1;clear L;%= =SV=zeros(N+2*n1,M+2*m1);for i=1+n1:N+n1;for j=1+m1:M+m1; if j==1+m1; D=0; for a=-n1:n1; for b=-m1:m1; D(n1+1+a,m1+1+b)=Lr(i+a,j+b); end; end; end; if j>1+m1; for a=-n1:n1; D(n1+1+a,m+1)=Lr(i+a,j+m1); end; D=D(1:n,2:m+1); end; D=D(:); SV(i,j)=std(D); end; end;%===== =====n_filter=3;m_filter=n_filter;F=ones(n_filter,m_filter);Lser=filter2(F,Lr,'same')/(n_filter*m_filter);amin=.35;amax=.95;C=(Lr-Lser)./(Lr+Lser+eps);C=abs(C);for i=1+n1:N+n1; disp(i)for j=1+m1:M+m1; if SV(i,j)<=1; SV(i,j)=1; end; if j==1+m1; TM=0; for a=-n1:n1; for b=-m1:m1; TM(n1+1+a,m1+1+b)=SV(i+a,j+b); end; end; end; if j>1+m1; for a=-n1:n1; TM(n1+1+a,m+1)=SV(i+a,j+m1); end; TM=TM(1:n,2:m+1); end; SV_MIN=min(min(TM)); SV_MAX=max(max(TM)); C(i,j)=C(i,j)^(amin+(amax-amin)*(SV(i,j)-SV_MIN)/(SV_MAX-SV_MIN)); if Lroshyrena(i,j)>=Lser(i,j); Lvyh(i,j)=Lser(i,j)*(1+C(i,j))/(1-C(i,j)); else Lvyh(i,j)=Lser(i,j)*(1-C(i,j))/(1+C(i,j)); end;%===== ===== if Lvyh(i,j)>=255; Lvyh(i,j)=255; end; if Lvyh(i,j)<=0; Lvyh(i,j)=0; end;end;end;Lvyh=Lvyh(n1+1:N+n1,m1+1:M+m1);Lvyh=round(Lvyh);L=Lroshyrena(n1+1:N+n1,m1+1:M+m1);%===== =====colormap(gray(255));subplot(221);image(L);axis('image');subplot(222);image(Lvyh);axis('image'); .
) ) )

. - : ) ; ) , ; ) , .

%, () ()% ( )clear;%===== =====L=imread('im.tif');[N M]=size(L);%===== =====m=5;n=m;n1=fix(n/2);m1=fix(m/2);R=255;%===== =====a=L(1,1);b=L(1,M);c=L(N,1);d=L(N,M);for i=1:n1; for j=1:m1; L1(i,j)=a; L3(i,j)=b; L6(i,j)=c; L8(i,j)=d; end;end; L2=L(1,1:M); L02=L2; for i=1:n1-1; L2=[L2;L02]; end; L7=L(N,1:M); L07=L7; for i=1:n1-1; L7=[L7;L07]; end; L4=L(1:N,1); L4=L4'; L04=L4; for i=1:m1-1; L4=[L4;L04]; end; L4=L4'; L5=L(1:N,M); L5=L5'; L05=L5; for i=1:m1-1; L5=[L5;L05]; end; L5=L5'; L1=[L1;L4]; L1=[L1;L6]; L1=L1'; L2=[L2;L]; L2=[L2;L7]; L2=L2'; L3=[L3;L5]; L3=[L3;L8]; L3=L3'; L1=[L1;L2]; L1=[L1;L3]; Lr=L1';clear L2;clear L3;clear L4;clear L5;clear L6;clear L7;clear L8;clear L02;clear L04;clear L05;clear L07;clear L1;clear L;%===== =====F=ones(n,m);Lser=filter2(F,Lr,'same')/(n*m);=abs(Lr-Lser)/(Lr+Lser);CMIN=min(min(C));CMAX=max(max(C));alfa=.9; %===== =====%===== ( a>1 a<1) =====C=((C-CMIN)./(CMAX-CMIN)).^alfa;%===== =====for i=1+n1:N+n1; disp(i)for j=1+m1:M+m1; if Lr(i,j)>=Lser(i,j); Lvyh(i,j)=Lser(i,j)*(1+C(i,j))/(1-C(i,j)); else Lvyh(i,j)=Lser(i,j)*(1-C(i,j))/(1+C(i,j)); end; if Lvyh(i,j)>=R; Lvyh(i,j)=R; end; if Lvyh(i,j)<=0; Lvyh(i,j)=0; end;end;end;Lvyh=Lvyh(n1+1:N+n1,m1+1:M+m1);Lvyh=round(Lvyh);L=Lroshyrena(n1+1:N+n1,m1+1:M+m1);%===== =====subplot(221);imshow(L');axis('image');subplot(222);imshow(Lvyh');axis('image');
) ) ,
) () ) ()

. .

, .

%, () ()% ( )clear;%===== =====L=imread('im1.bmp');L=L(:,:,1);L=double(L)./255;[N M]=size(L);%===== =====m=17;n=m;n1=fix(n/2);m1=fix(m/2);R=255/255;%===== =====a=L(1,1);b=L(1,M);c=L(N,1);d=L(N,M);for i=1:n1; for j=1:m1; L1(i,j)=a; L3(i,j)=b; L6(i,j)=c; L8(i,j)=d; end;end; L2=L(1,1:M); L02=L2; for i=1:n1-1; L2=[L2;L02]; end; L7=L(N,1:M); L07=L7; for i=1:n1-1; L7=[L7;L07]; end; L4=L(1:N,1); L4=L4'; L04=L4; for i=1:m1-1; L4=[L4;L04]; end; L4=L4'; L5=L(1:N,M); L5=L5'; L05=L5; for i=1:m1-1; L5=[L5;L05]; end; L5=L5'; L1=[L1;L4]; L1=[L1;L6]; L1=L1'; L2=[L2;L]; L2=[L2;L7]; L2=L2'; L3=[L3;L5]; L3=[L3;L8]; L3=L3'; L1=[L1;L2]; L1=[L1;L3]; Lr=L1';clear L2;clear L3;clear L4;clear L5;clear L6;clear L7;clear L8;clear L02;clear L04;clear L05;clear L07;clear L1;clear L;alfa=5; %===== =====%===== =====C=zeros(N+n+1,M+m+1);C1=zeros(N+n+1,M+m+1);for i=1+n1:N+n1; disp(i)for j=1+m1:M+m1; if j==1+m1; D=0; for a=-n1:n1; for b=-m1:m1; D(n1+1+a,m1+1+b)=Lr(i+a,j+b); end; end; end; if j>(1+m1); for a=-n1:n1; D(n1+1+a,m+1)=Lr(i+a,j+m1); end; D=D(1:n,2:m+1); end; Lser(i,j)=sum(sum(D))/(n*m); C(i,j)=abs((Lr(i,j)-Lser(i,j))/(Lr(i,j)+Lser(i,j))); end; end;for i=1+n1:N+n1; disp(i)for j=1+m1:M+m1; if j==1+m1; D=0; for a=-n1:n1; for b=-m1:m1; D(n1+1+a,m1+1+b)=C(i+a,j+b); end; end; end; if j>(1+m1); for a=-n1:n1; D(n1+1+a,m+1)=C(i+a,j+m1); end; D=D(1:n,2:m+1); end; CMIN(i,j)=min(min(D)); CMAX(i,j)=max(max(D)); C1(i,j)=((C(i,j)-CMIN(i,j))/(CMAX(i,j)-CMIN(i,j)))^alfa; if C1(i,j)>1; C1(i,j)=1; end; if C1(i,j)<0; C1(i,j)=0; end; if Lr(i,j)>=Lser(i,j); Lvyh(i,j)=Lser(i,j)*(1+C1(i,j))/(1-C1(i,j)+eps); else Lvyh(i,j)=Lser(i,j)*(1-C1(i,j))/(1+C1(i,j)); end; if Lvyh(i,j)>R; Lvyh(i,j)=R; end; if Lvyh(i,j)<0; Lvyh(i,j)=0; end;end;end;Lvyh=Lvyh(n1+1:N+n1,m1+1:M+m1);L=Lr(n1+1:N+n1,m1+1:M+m1);%===== =====subplot(221);imshow(L');axis('image');subplot(222);imshow(Lvyh');axis('image');

.

  1. Dash L., Chatterji B.N. Adaptive contrast enhancement and de-enhancement // Pattern Recognition, 1992. - V. 24, 4. - P.289 - 302.
  2. .. : . . : 05.13.06. - , 1999. - 369 .




:


: 2015-10-01; !; : 898 |


:

:

: , .
==> ...

1854 - | 1460 -


© 2015-2024 lektsii.org - -

: 0.01 .