%cut函数
function xyk=cut1(I)
[m,n]=size(I);
xxx=0;
Im=I;
tezheng=zeros(m,n,3);
cnt = 1;
xyk(1, :) = [0,0,0];
for i=2:m-1
for j=2:n-1
if Im(i,j)==1
a = 0;
if Im(i-1,j) ~= Im(i-1,j+1)
a = a + 1;
end
if Im(i-1,j+1) ~= Im(i,j+1)
a = a + 1;
end
if Im(i,j+1) ~= Im(i+1,j+1)
a = a + 1;
end
if Im(i+1,j+1) ~= Im(i+1,j)
a = a + 1;
end
if Im(i+1,j) ~= Im(i+1,j-1)
a = a + 1;
end
if Im(i+1,j-1) ~= Im(i,j-1)
a = a + 1;
end
if Im(i,j-1) ~= Im(i-1,j-1)
a = a + 1;
end
if Im(i-1,j-1) ~= Im(i-1,j)
a = a + 1;
end
if a==6 %%%分叉点判断
tezheng(i,j,1)=i;
tezheng(i,j,2)=j;
tezheng(i,j,3)=1;
xxx=xxx+1;
xyk(cnt, :) = [i,j,6];
cnt = cnt + 1;
I(i,j)=0;
I(i-1,j)=1;
I(i-1,j+1)=1;
I(i,j+1)=1;
I(i+1,j+1)=1;
I(i+1,j)=1;
I(i+1,j-1)=1;
I(i,j-1)=1;
I(i-1,j-1)=1;
%%%%%%%%%%%%%%%%%%%%%%%%%1表示分叉点 0表示端点
end
if a==2 %%%% 端点判断
tezheng(i,j,1)=i;
tezheng(i,j,2)=j;
tezheng(i,j,3)=2;
xxx=xxx+1;
xyk(cnt, :) = [i,j,2];
cnt = cnt + 1;
I(i,j)=0;
I(i-1,j)=1;
I(i-1,j+1)=1;
I(i,j+1)=1;
I(i+1,j+1)=1;
I(i+1,j)=1;
I(i+1,j-1)=1;
I(i,j-1)=1;
I(i-1,j-1)=1;
end
end
end
end
% figure,imshow(I)
% title('aa')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%特征提取后处理~
% Izz=I;
% for i=1:m %%%%%%%%%%%%%%%%%%%%%%%%去除边界点
% for j=1:n
% if tezheng(i,j,3)~=0
% if i-17<0||i+17>m|| j-17<0||j+17>n
% tezheng(i,j,3)=0;
% id=find(xyk(:,1)==i&xyk(:,2)==j);
% xyk(id,:)=[];
% xxx=xxx-1; %%%消除端点
% Izz(i-1,j)=0;Izz(i-1,j+1)=0;Izz(i,j+1)=0;Izz(i+1,j+1)=0;Izz(i+1,j)=0;Izz(i+1,j-1)=0;Izz(i,j-1)=0;Izz(i-1,j-1)=0;
% else
% a=0;b=0;c=0;d=0;
% a=I(i+1,j)+I(i+2,j)+I(i+3,j)+I(i+4,j)+I(i+5,j)+I(i+6,j)+I(i+7,j)+I(i+8,j)+I(i+9,j)+I(i+10,j)+I(i+11,j)+I(i+12,j);
% b=I(i-1,j)+I(i-2,j)+I(i+3,j)+I(i-4,j)+I(i-5,j)+I(i-6,j)+I(i-7,j)+I(i-8,j)+I(i-9,j)+I(i-10,j)+I(i-11,j)+I(i-12,j);
% c=I(i,j+1)+I(i,j+2)+I(i,j+3)+I(i,j+4)+I(i,j+5)+I(i,j+6)+I(i,j+7)+I(i,j+8)+I(i,j+9)+I(i,j+10)+I(i,j+11)+I(i,j+12);
% d=I(i,j-1)+I(i,j-2)+I(i,j-3)+I(i,j-4)+I(i,j-5)+I(i,j-6)+I(i,j-7)+I(i,j-8)+I(i,j-9)+I(i,j-10)+I(i,j-11)+I(i,j-12);
% if ( a<=1 && b<=1 && c<=1 && d<=1)
% tezheng(i,j,3)=0; %%%消除端点
% id=find(xyk(:,1)==i&xyk(:,2)==j);
% xyk(id,:)=[];
% xxx=xxx-1;
% Izz(i-1,j)=0;Izz(i-1,j+1)=0;Izz(i,j+1)=0;Izz(i+1,j+1)=0;Izz(i+1,j)=0;Izz(i+1,j-1)=0;Izz(i,j-1)=0;Izz(i-1,j-1)=0;
% end
%
% end
% end
% end
% end
% % figure,imshow(I)
% % for i=1:m %%%%%%%%%%%%%%%%%%%%%%%%去除边界点
% % for j=1:n
% % if tezheng(i,j,3)~=0
% % if i-11>=0||i+11<=m|| j-11>=0||j+11<=n
% % % tezheng(i,j,3)=0; %%%消除端点
% % % I(i-1,j)=0;I(i-1,j+1)=0;I(i,j+1)=0;I(i+1,j+1)=0;I(i+1,j)=0;I(i+1,j-1)=0;I(i,j-1)=0;I(i-1,j-1)=0;
% % % else
% % a=0;b=0;c=0;d=0;
% % a=I(i+1,j)+I(i+2,j)+I(i+3,j)+I(i+4,j)+I(i+5,j)+I(i+6,j)+I(i+7,j)+I(i+8,j)+I(i+9,j)+I(i+10,j);
% % b=I(i-1,j)+I(i-2,j)+I(i+3,j)+I(i-4,j)+I(i-5,j)+I(i-6,j)+I(i-7,j)+I(i-8,j)+I(i-9,j)+I(i-10,j);
% % c=I(i,j+1)+I(i,j+2)+I(i,j+3)+I(i,j+4)+I(i,j+5)+I(i,j+6)+I(i,j+7)+I(i,j+8)+I(i,j+9)+I(i,j+10);
% % d=I(i,j-1)+I(i,j-2)+I(i,j-3)+I(i,j-4)+I(i,j-5)+I(i,j-6)+I(i,j-7)+I(i,j-8)+I(i,j-9)+I(i,j-10);
% %
% %
% %
% % % for h=1:10
% % % a=I(i+h,j)+a;
% % % b=I(i-h,j)+b;
% % % c=I(i,j+h)+c;
% % % d=I(i,j-h)+d;
% % % end
% % %
% % if ( a<=1 && b<=1 && c<=1 && d<=1)
% % tezheng(i,j,3)=0; %%%消除端点
% % I(i-1,j)=0;I(i-1,j+1)=0;I(i,j+1)=0;I(i+1,j+1)=0;I(i+1,j)=0;I(i+1,j-1)=0;I(i,j-1)=0;I(i-1,j-1)=0;
% % end
% % end
% % end
% % end
% % end
% %
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %消除断点
% for i=17:m-17
% for j=17:n-17
% if tezheng(i,j,3)==2
% for x=i-12:i+12
% for y=j-12:j-1
% if tezheng(x,y,3)==2
% tezheng(i,j,3)=0;
% tezheng(x,y,3)=0;
% id=find(xyk(:,1)==i&xyk(:,2)==j);
% xyk(id,:)=[];
% id=find(xyk(:,1)==x&xyk(:,2)==y);
% xyk(id,:)=[];
% xxx=xxx-2;
% Izz(i-1,j)=0;Izz(i-1,j+1)=0;Izz(i,j+1)=0;Izz(i+1,j+1)=0;Izz(i+1,j)=0;Izz(i+1,j-1)=0;Izz(i,j-1)=0;Izz(i-1,j-1)=0;
% Izz(x-1,y)=0;Izz(x-1,y+1)=0;Izz(x,y+1)=0;Izz(x+1,y+1)=0;Izz(x+1,y)=0;Izz(x+1,y-1)=0;Izz(x,j-1)=0;Izz(x-1,y-1)=0;
% end
% end
% for x=i-12:i+12
% for y=j+1:j+12
% if tezheng(x,y,3)==2
% tezheng(i,j,3)=0;
% tezheng(x,y,3)=0;
% id=find(xyk(:,1)==i&xyk(:,2)==j);
% xyk(id,:)=[];
% id=find(xyk(:,1)==x&xyk(:,2)==y);
% xyk(id,:)=[];
% xxx=xxx-2;
% Izz(i-1,j)=0;Izz(i-1,j+1)=0;Izz(i,j+1)=0;Izz(i+1,j+1)=0;Izz(i+1,j)=0;Izz(i+1,j-1)=0;Izz(i,j-1)=0;Izz(i-1,j-1)=0;
% Izz(x-1,y)=0;Izz(x-1,y+1)=0;Izz(x,y+1)=0;Izz(x+1,y+1)=0;Izz(x+1,y)=0;Izz(x+1,y-1)=0;Izz(x,j-1)=0;Izz(x-1,y-1)=0;
% end
% end
% end
% end
% end
% end
% end
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %消除毛刺
% for i=10:m-10
% for j=10:n-10
% if tezheng(i,j,3)==2
% for x=i-5:i+5
% for y=j-5:j+5
% if tezheng(x,y,3)==1
% tezheng(i,j,3)=0;
% tezheng(x,y,3)=0;
% id=find(xyk(:,1)==i&xyk(:,2)==j);
% xyk(id,:)=[];
% id=find(xyk(:,1)==x&xyk(:,2)==y);
% xyk(id,:)=[];
% xxx=xxx-2;
% Izz(i-1,j)=0;Izz(i-1,j+1)=0;Izz(i,j+1)=0;Izz(i+1,j+1)=0;Izz(i+1,j)=0;Izz(i+1,j-1)=0;Izz(i,j-1)=0;Izz(i-1,j-1)=0;
% Izz(x-1,y)=0;Izz(x-1,y+1)=0;Izz(x,y+1)=0;Izz(x+1,y+1)=0;Izz(x+1,y)=0;Izz(x+1,y-1)=0;Izz(x,j-1)=0;Izz(x-1,y-1)=0;
% end
% end
% end
% end
% end
% end
% %figure,imshow(I)
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %消除小桥
% for i=10:m-10
% for j=10:n-10
% if tezheng(i,j,3)==1
% for x=i-6:i+6
% for y=j-6:j-1
% if tezheng(x,y,3)==1
% tezheng(i,j,3)=0;
% tezheng
程序.zip_指纹_指纹提取_指纹特征匹配_指纹识别 预处理 特征提取_特征匹配
版权申诉
159 浏览量
2022-07-14
19:54:38
上传
评论 1
收藏 15KB ZIP 举报
JaniceLu
- 粉丝: 79
- 资源: 1万+
最新资源
- 电子设计竞赛的单相不间断电源设计
- cutcamera1715961370938.png
- 基于MATLAB的图像处理课程设计报告.doc
- tensorflow-gpu-2.6.0-cp38-cp38-manylinux2010-x86-64.whl
- mmexport1715960553858.png
- tensorflow-gpu-2.6.0-cp37-cp37m-manylinux2010-x86-64.whl
- 通过 .NET 应用程序中的源代码查找 SQL 注入
- 电子设计竞赛2007年B题 无线识别装置.doc
- Wox全局搜索工具,一款win下的全局搜索软件
- 使用高级集群管理 (ACM) 模板来管理用户、组和命名空间
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0