首页 > 编程知识 正文

指纹图谱mark峰匹配(指纹识别原理初探)

时间:2023-05-04 05:33:36 阅读:74921 作者:1913

Sift特征点的提取方法,在此简单介绍。

作为匹配能力高局部描述算子,有SIFT

intsift_features(iplimage*img,struct feature** feat ) )。

此函数用于提取图像中的特征向量。 参数img是指向表示需要提取特征的图像的IplImage数据类型的指针。 IplImage是在opencv库中定义的图像的基本类型。 (opencv是著名的图像处理类库,有关详细信息,请访问http://www.opencv.org.cn。 参数feat是存储图像特征向量的数组指针。 如果成功调用函数,则返回特征向量的数量。 否则,返回-1。

键函数2 :

int_sift_features(iplimage*img,struct feature** feat,int intvls,double sigma,double contr_thr,intc urv _ int )

此函数是函数1的重载,作用相同。 实际上,函数1只不过是使用默认参数调用了函数2,核心的所有代码都在函数2中实现。 详细说明其他几个参数。

每intvls:比例空间的采样间隔数。 默认值为3。

sigma: wgdlr平滑的数量,默认值1.6。

contr_thr:判断特征点是否稳定,取值(0,1 ),默认值为0.04,该值越大,排除的特征点越多。

curv_thr:判定特征点是否为边缘点,默认值为6 .

如果在构建尺度空间之前图像被放大1倍,则img_dbl:将值设为1,否则将值设为0。

descr_width:是计算特征描述符时的相邻子块的宽度,默认值为4。

descr_hist_如意鱼s:是在计算特征描述符时投影特征点附近的方向数,默认值为8,分别为0、45、90、135、180、215、270、315,共计8个方向。

Sift特征匹配算法主要包括两个阶段:一个是Sift特征的生成,即从多个图像中提取与尺度缩放、旋转、亮度变化无关的特征向量; 第二阶段是Sift特征向量的匹配。

Sift特征的生成一般包括以下步骤:

1、构建尺度空间,检测极值点,获得尺度不变性;

2、对特征点进行滤波和准确定位;

3、给特征点分配方向值;

4、生成特征描述符。

以特征点为中心,以16*16附近为采样窗口,利用wgdlr对采样点与特征点的相对方向进行加权,归纳为包含8个如意的鱼的方向直方图,最后得到4*4*8的128维特征描述符。 示意图如下:

一旦生成了两个图像的Sift特征向量,下一步骤就可将关键点特征向量的欧式距离用作两个图像中关键点的相似性确定度量。 取图1中的某个键,在扫描中找到图像2中位于最近距离的两个键。 在这两个键中,二次近距离除以最近距离而得到的值小于某一阈值时,判定为匹配点对。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。