?? pcnnmm.txt
字號:
name=15;
%F=imread(['lena0.',num2str(name),'.bmp']);
%F=imread(['barbara0.',num2str(name),'.png']);
F=imread(['fingerprint0.',num2str(name),'.png']);
F=im2double(F);
[m,n]=size(F);
row1=F(1,:);
row2=F(m,:);
F=[row1;F;row2];
column1=F(:,1);
column2=F(:,n);
F=[column1,F,column2];
[m,n]=size(F);
W=[0.5,1,0.5;1,0,1;0.5,1,0.5];
se=[1,1;1,1];
b=0.1;
a=0.1;
v=1.6;%%
L=zeros(m,n);%輸入矩陣L
Y=ones(m,n);%輸出
M=v*Y;
U=zeros(m,n);%內(nèi)部活動項
%求L
for i=2:m-1
for j=2:n-1
for k=1:3
for l=1:3
L(i,j)=L(i,j)+W(k,l)*Y(i-2+k,j-2+l);
end
end
end
end
%求U
U=F.*(1+b*L);
%求輸出
for i=2:m-1
for j=2:n-1
if U(i,j)-M(i,j)>=0
Y(i,j)=1;
for k=1:3
for l=1:3
J(k,l)=F(i-2+k,j-2+l);
end
end
A=imopen(J,se);
B=imclose(A,se);
%for k=1:3
%for l=1:3
%F(i-2+k,j-2+l)=B(k,l);
F(i,j)=B(2,2);
%end
%end
end
end
end
I = ones(m,n);
F = imsubtract(I,F);
L=zeros(m,n);%輸入矩陣L
Y=ones(m,n);%輸出
%求L
for i=2:m-1
for j=2:n-1
for k=1:3
for l=1:3
L(i,j)=L(i,j)+W(k,l)*Y(i-2+k,j-2+l);
end
end
end
end
%求U
U=F.*(1+b*L);
%求輸出
for i=2:m-1
for j=2:n-1
if U(i,j)-M(i,j)>=0
Y(i,j)=1;
for k=1:3
for l=1:3
J(k,l)=F(i-2+k,j-2+l);
end
end
A=imopen(J,se);
B=imclose(A,se);
%for k=1:3
%for l=1:3
%F(i-2+k,j-2+l)=B(k,l);
F(i,j)=B(2,2);
%end
%end
end
end
end
I = ones(m,n);
F = imsubtract(I,F);
F(m,:)=[];
F(:,n)=[];
F(1,:)=[];
F(:,1)=[];
figure;imshow(F);
%imwrite(F,['outpcnnmm',num2str(name),'.bmp']);
%imwrite(F,['barbarapcnnmm',num2str(name),'.bmp']);
imwrite(F,['fingerprintpcnnmm',num2str(name),'.bmp']);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -