Matlab指纹细节提取

Matlab指纹细节提取,matlab,verification,fingerprint,Matlab,Verification,Fingerprint,目前我对指纹识别和细节提取非常感兴趣。我在网上找到了以下代码,不知是否有人能解释一下?我查过形心、区域道具等,我对这些有点了解,但下面的代码让我感到困惑 fun=@minutie; L = nlfilter(K,[3 3],fun); %% Termination LTerm=(L==1); imshow(LTerm) LTermLab=bwlabel(LTerm); propTerm=regionprops(LTermLab,'Centroid'); CentroidTerm=round(

目前我对指纹识别和细节提取非常感兴趣。我在网上找到了以下代码,不知是否有人能解释一下?我查过形心、区域道具等,我对这些有点了解,但下面的代码让我感到困惑

fun=@minutie;
L = nlfilter(K,[3 3],fun);

%% Termination
LTerm=(L==1);
imshow(LTerm)
LTermLab=bwlabel(LTerm);
propTerm=regionprops(LTermLab,'Centroid');

CentroidTerm=round(cat(1,propTerm(:).Centroid));
imshow(~K)
set(gcf,'position',[1 1 600 600]);
hold on
plot(CentroidTerm(:,1),CentroidTerm(:,2),'ro')

%% Bifurcation
LBif=(L==3);
LBifLab=bwlabel(LBif);
propBif=regionprops(LBifLab,'Centroid','Image');
CentroidBif=round(cat(1,propBif(:).Centroid));
plot(CentroidBif(:,1),CentroidBif(:,2),'go')

该代码首先过滤具有3x3像素邻域的二值图像<代码>nfilter是一种移动过滤功能。它将遍历作为参数给出的图像中的所有像素,并基于相邻像素的值应用一个操作

我不知道
minutie
过滤器的确切内容,但从代码的其余部分判断,它可能在所有1的邻域中计算值为1的像素。换句话说,它将等于一个线段末端的一个,当有3个分支(分叉)时,它将等于3

例如:

让一个过滤器汇总附近的值,如下所示:

sum(block(1,1:3), block(3,1:3), block(2,1), block(2,3))*block(2, 2);
其中,
表示二进制图像的每个像素周围的邻域

在下面的左矩阵中(如果忽略边界例外),有一个位置的3x3邻域中正好有一个1,在右矩阵中,有一个位置的3x3邻域中正好有三个1

[0 0 0 0 0        [0 0 1 0 0
 0 0 0 0 0         0 0 1 0 0
 0 0 1 0 0         1 1 1 0 0
 0 0 1 0 0         0 0 1 0 0
 0 0 1 0 0]        0 0 1 0 0]
过滤后的输出将是:

[0 0 0 0 0        [0 0 0 0 0
 0 0 0 0 0         0 0 0 0 0
 0 0 1 0 0         0 0 3 0 0
 0 0 0 0 0         0 0 0 0 0
 0 0 0 0 0]        0 0 0 0 0]
它在左矩阵中发现了一个终止,在右矩阵中发现了一个分支

过滤后的图像在值1和3处设置阈值,然后使用
bwlabel
regionprops
对我来说有些神秘†因为分叉和终止是单点,它们的位置只是它们的索引。我认为您可以简单地使用以下方法检测端点和分叉的坐标:

[It Jt]= find(L==1);
[Ib Jb]= find(L==3);

†我能想到的一个原因是图像和数组中的坐标在matlab中是不同的,这两个函数以图像格式输出坐标,更容易在原始图像上绘制。

非常感谢。当我删除bwlabel和regionprops时,它会给出一个错误。包含它们一定有一定的原因???@user1877082-如果删除这些代码行,您将得到一个错误,因为
bwlabel
regionprops
后面的下一行依赖于在该阶段分配的输出变量,很明显,你会得到一个错误。你能再次解释一下下面的代码吗。和(块(1,1:3)、块(3,1:3)、块(2,1)、块(2,3))*块(2,2);我觉得很难理解。我是新来的,我发现这很难理解。我认为我的主要问题是不理解扫描过程是如何工作的。如果我能得到,我想我会没事的!