掌纹识别 定位分割 形态学腐蚀膨胀算法 matlab源码
掌纹识别 定位分割 形态学腐蚀膨胀算法 matlab源码 西南交通大学 温长芝2008年10月02日 星期四 14:09%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Function: 掌纹图像预处理程序之形态学腐蚀膨胀算法
% Author: 温长芝
% Date: 2006/12/7
% Copyright: 西南交通大学 信号与信息处理四川省重点实验室
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
% 第二种算法采用的是形态学中的腐蚀和膨胀运算。首先,对图像进行低通滤波,消除细小噪声的干扰。
% 在滤波时,没有采用传统的中值滤波器,而是采用顺序统计滤波器ordfilt2。 % imm=ordfilt2(im,n,ones(N,M));
% 上式
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示,将ones(N,M)范围内的像素值依次排序,用第n个像素点的值代替该点的像素值,
% 此种滤波器与中值滤波器一样不会使图像的边缘变的模糊,在滤除噪声的同时很好的保留了图像的边缘。
% 之后,设定门限值,将掌纹图像转化为二值图像。由经验得到门限值应为15(或20)。 % 对二值化后的图像先进行膨胀运算、再进行腐蚀运算,将得到的结果与原图像相减,图像上所剩的点即为角点。
% 先膨胀运算,再腐蚀运算,SE表示在进行膨胀与腐蚀时所用的结构元素。 % SE的确定是此次角点检测的关键所在。SE的形状应与要检测的目标的形状相似。 % 知要检测的目标的形状为弧形,所以SE的形状也应该为弧形。
% 找到两角点的坐标,并将其旋转到一条垂直线上,旋转后的直线作为坐标系的纵坐标。 % 在图像的中心位置切割大小为128*128的图像。
% 这种
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
切割出来的掌纹图像的旋转平移较小,而且算法简单,计算量小,比较实用。 %
clear,close all;
clc;
for i=6
for j=1
% im_1=imread(strcat('PolyU_',num2str(i),'_F_', num2str(j),'.bmp'));
im_2=imread(strcat('PolyU_',num2str(i),'_S_', num2str(j),'.bmp')); %输入图像
% out_1=Cropedimage(im_1);
% out_2=Cropedimage(im_2);
SE=[1 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1
0 0 0 0 1 1 1 1
0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 1
0 0 0 0 1 1 1 1
0 0 1 1 1 1 1 1
1 1 1 1 1 1 1 1]; % 定义的结构元素
im = im_2;
subplot(3,3,1);
imshow(im);
title('(a) 原始掌纹图像');
imm=ordfilt2(im,200,ones(10,40)); % 中值滤波
imwrite(imm,'ordfilt2.bmp');
subplot(3,3,3);
imshow(imm);
title('(b) 顺序统计滤波后的图像');
image(find(imm<15))=0; % 二值化
image(find(imm>15))=255;
image=reshape(image,284,384);
imwrite(image,'binaryimage.bmp');
subplot(3,3,2);
imshow(image);
title('(c) 二值化后的图像');
image1=imdilate(image,SE); % 进行膨胀腐蚀运算
subplot(3,3,5);
imshow(image1);
title('(d) 膨胀后的图像');
image1=imerode(image1,SE);
subplot(3,3,8);
imshow(image1);
title('(e) 腐蚀后的图像');
imwrite(image1,'dilate_erode.bmp')
image1=image1-image; % 与原图像相减得到角点
image1(find(image1<1))=0;
image1(find(image1>1))=255;
subplot(3,3,6);
imshow(image1);
title('(f) 相减得到角点的图像');
imwrite(image1,'keypoints.bmp');
[Y1,X1]=find(image1(1:100,1:150));
[Y2,X2]=find(image1(150:250,1:150)); %
x1=max(X1);
y1=max(Y1);
x2=max(X2);
y2=max(Y2)+150;
angle=atan((x1-x2)/(y2-y1))*360/2/pi; % 计算图像应旋转的角度
im=imrotate(im,angle,'crop'); % 将原始图像旋转相应的角度
subplot(3,3,4);
imshow(im);
title('(g) 旋转后的原始图像');
imwrite(im,'rotate.bmp')
image2=imrotate(image1,angle,'crop');
subplot(3,3,9);
imshow(image2);
title('(h) 旋转后的角点图像');
imwrite(image2,'rotate.bmp');
[Y1,X1]=find(image2(1:100,1:150));
[Y2,X2]=find(image2(150:250,1:150));
y1=max(Y1);
y2=max(Y2)+150;
x1=max(X1);
x2=max(X2);
y0=round((y1+y2)/2)-60;
x0=x1+30;
im=imcrop(im,[x0,y0,127,127]);
subplot(3,3,7);
imshow(im);
title('(j) 切割出的图像');
imwrite(im,'cropedimage.bmp');
% imwrite( out_1 ,strcat('Palm\P_F', num2str(i) ,'_' ,num2str(j),'.bmp'));
% imwrite( out_2 ,strcat('Palm\P_S', num2str(i) ,'_' ,num2str(j),'.bmp'));
end
end
% 静进心——掌纹识别手掌静脉识别专
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
生物特征识别专题 % 西南交通大学
% 掌纹识别 定位分割 形态学腐蚀膨胀算法 matlab源码 西南交通大学 温长芝
% 掌纹识别 定位分割 迹线跟踪算法 matlab源码 西南交通大学 温长芝
% 掌纹识别 基于最大内切圆的定位分割算法