精华内容
下载资源
问答
  • 基于MATLAB编译器,实现对图像特征点的匹配,同时对匹配后的特征点进行筛选
  • matlab图像特征匹配

    2015-06-21 18:56:59
    matlab数字图像处理部分 特征匹配代码,多种匹配方式可选,详见代码段
  • matlab版本的源码,有详细的sift特征提取匹配的步骤介绍,具体sift是什么我就不多说了。这个matlab版本的源码就是供初学者学习之用。本人也是刚刚学习,代码亲字试过,希望对大家有帮助,大家一起学习交流,我也是...
  • This is a content.SIFT SIFT 指路 ???? The SIFT Keypoint Detector 注:程序为matlab版。 参考 SIFT特征提取-应用篇

    本来想做一个匹配算法汇总blog,but好累啊,还是一个一个来吧。
    (大不了后面…复制粘贴)

    SIFT

    程序指路 👉 The SIFT Keypoint Detector

    注:
    1)程序为matlab版;
    2)图像需为灰度图,若是彩色图像,需要转为灰度图,为便利使用,可以直接在sift.m中添加语句;
    3)执行sift.m会在命令行显示关键点数量;
    4)匹配数目由distRatio筛选;
    5)执行match.m会在命令行显示关键点数量及匹配数目;
    6)调用程序的主函数需要自己编写,在篇尾参考链接中有测试程序的和调用自己图片的例子。

    内含4个函数文件,分别为sift.mmatch.mshowkeys.mappendimages.m

    1. sift.m
    function [image, descriptors, locs] = sift (imageFile)
    % 输入参数
    % imageFile :图像路径
    %
    % 输出参数
    % image :double格式的图像数组
    % descriptors :K * 128矩阵,每行为第K个关键点的不变描述子,每个描述子为标准化后由128个值组成的向量
    % locs:K * 4矩阵,每行为第K个关键点的位置,每个位置包含4个值(行、列、尺度、方向),其中方向在[-PI,PI]范围内
    

    sift.m会调用到3个重要文件:tmp.pgmtmp.key以及一个名为sift的文件(如果使用VS应该是名为siftWin32exe执行文件)。

    • tmp.pgm:将图像转换为PGM图像文件。
    • tmp.key:确定关键点的数量及描述子长度。
    • sift:调用关键点可执行文件。
    1. match.m
    function num = match(image1, image2)
    % 输入参数
    % image1, image2 :2个图片数组
    %
    % 输出参数
    % num :匹配的sift特征数
    

    match.m中会先调用sift.m,先查找2张输入图像的sift关键点,再查找对于image1的每个关键点描述子在image2中的匹配点。
    distRatio值是筛选匹配关键点的一个阈值。(只有当最近邻与第二最近邻的矢量角之比小于distRatio,才认为是一个成功匹配)

    1. showkeys.m
    function showkeys(image, locs)
    % 输入参数
    % image :图像数组
    % locs :K * 4矩阵,每行为第K个关键点的位置,每个位置包含4个值(行、列、尺度、方向),其中方向在[-PI,PI]范围内
    

    在调用这个函数前,要先执行sift.m
    showkeys.m中还包含一个TransformLine子函数,用于绘制每个关键点描述子处的箭头。箭头长度的缩放比例为近似于用于计算关键点描述子的区域半径,箭头方向为关键点的方向。

    1. appendimages.m
    function im = appendimages(image1, image2)
    % 输入参数
    % image1, image2 :2个图片数组
    %
    % 输出参数
    % im :2个图像并排排列的组合图像
    

    match.m中调用,用于显示特征匹配结果。

    参考
    SIFT特征提取-应用篇

    展开全文
  • 代码亲测好用,可以提取两幅图像的同名点,并且可以筛选,筛选后精度很高,可用于两幅图像配准,拼接为一副整图像,拼接的效果很好。可以在main函数直接使用,便会调用所用函数,使用很方便。而且代码注释很仔细,...
  • matlab版本的源码,有详细的sift特征提取匹配的步骤介绍,具体sift是什么我就不多说了。这个matlab版本的源码就是供初学者学习之用。本人也是刚刚学习,代码亲字试过,希望对大家有帮助,大家一起学习
  • MATLAB提取SIFT特征

    2019-04-24 20:09:59
    MATLAB提取SIFT特征
  • Matlab 图像特征提取

    万次阅读 2018-10-11 10:50:59
    图像处理过程中,尤其是图像相似度的匹配,在图片量比较小的情况下,深度学习的效果往往达不到期望,所以需要利用传统图像处理的方法,对图像特征进行提取,常用的方法有lbp,hog,sift,surf。 lbp算法主要是对图片...

    在图像处理过程中,尤其是图像相似度的匹配,在图片量比较小的情况下,深度学习的效果往往达不到期望,所以需要利用传统图像处理的方法,对图像特征进行提取,常用的方法有lbp,hog,sift,surf。

    lbp算法主要是对图片纹理特征进行提取,一旦图片旋转,平移或者缩放,所提取的lbp特征就会发生很大变化。

    hog算法主要是对图片形状特征进行提取,一旦图片旋转,平移或者缩放,所提取的lbp特征就会发生很大变化。

    sift算法具有尺度不变性,一旦图片旋转,平移或者缩放,所提取的sift特征依然能得到很好的保留。

    surf是对sift算法的改进,运行速度比sift更快,个人感觉效果更好。

    展开全文
  • Surf特征匹配Matlab代码

    2018-12-25 10:57:55
    详细的 Surf特征匹配Matlab代码,子函数很多;有助于对Surf特征匹配的学习理解,是个很不错的代码。
  • 本程序基于matlab,诠释了surf特征提取匹配过程及误匹配的矫正
  • 一个很赞的sift特征提取matlab程序,这里面的函数都是自定义的,可以实现两幅图像的对应相同点的连接,下通过sift特征匹配
  • matlab图像特征提取

    万次阅读 2017-04-01 13:46:35
    图像的边缘检测:图像的边缘:指图像周围像素灰度急剧变化的那些像素的集合,存在于目标,背景和区域之间。首先检测图像中的边缘点,再按照某种策略将边缘点连接成轮廓,从而构成分割区域。可以分为俩种,一种为阶跃...

    图像的边缘检测:图像的边缘:指图像周围像素灰度急剧变化的那些像素的集合,存在于目标,背景和区域之间。首先检测图像中的边缘点,再按照某种策略将边缘点连接成轮廓,从而构成分割区域。可以分为俩种,一种为阶跃状边缘(边缘俩边像素的灰度值明显不同),另外为屋顶状边缘(边缘处于灰度值由小到大再到小变化的转折点处。

    edge函数:BW=edge(I,method,threshold) 功能:对所输入的灰度图像进行边缘检查 

    输入:I 输入的灰度图像;method 进行边缘检测的方法,可以设置为sobel、prewitt、roberts、log、zerocross、canny;threshold 所设定的阈值

    输出:BW 经过边缘检查后的二值图像。

    Canny算子:

    Canny 的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:
    好的检测- 算法能够尽可能多地标识出图像中的实际边缘。
    好的定位- 标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近。
    最小响应- 图像中的边缘只能标识一次,并且可能存在的图像噪声不应标识为边缘。
    为了满足这些要求 Canny 使用了变分法,这是一种寻找满足特定功能的函数的方法。最优检测使用四个指数函数项的和表示,但是它非常近似于高斯函数的一阶导数
    主要分为四部分:第一:去噪声,第二:计算梯度值与方向角,第三:非最大值抑制,第四滞后阈值化。
    prewitt算子
    Prewitt算子是一种一阶微分算子边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用 。其原理是在图像空间利用两个方向模板与图像进行l邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。
    对数字图像f(x,y),Prewitt算子的定义如下:
    G(i)=|[f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)]-[f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)]|
    G(j)=|[f(i-1,j+1)+f(i,j+1)+f(i+1,j+1)]-[f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)]|
    则 P(i,j)=max[G(i),G(j)]或 P(i,j)=G(i)+G(j)
    经典Prewitt算子认为:凡 灰度 新值大于或等于阈值的像素点都是边缘点。即选择适当的阈值T,若P(i,j)≥T,则(i,j)为边缘点,P(i,j)为边缘图像。这种判定是欠合理的,会造成边缘点的误判,因为许多噪声点的灰度值也很大,而且对于幅值较小的边缘点,其边缘反而丢失了。
    角点:角点是两个边缘的交点,角点是领域内具有两个主方向的特征点,角点所在的领域通常也是图像中稳定的、信息丰富的区域。
    角点特征检测:
    目前的角点检测算法可归纳为3类:基于灰度图像的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测。角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。对灰度图像、二值图像、边缘轮廓曲线的角点检测算法进行综述,分析了相关的算法,并对各种检测算法给出了评价。
    1.准确性:即使很细小的角点,算法也能检测到;
    2.定位性:检测到的角点应尽可能地接近它们在图像中的真实位置;
    3稳定性:对相同场景拍摄的多幅图片,每一个角点的位置都不应该移动;
    4.实时性:角点检测算法的计算量越小、运行的速度越快越好;
    5.鲁棒性:对噪声具有抗干燥性。

    人眼对角点的识别通常是在一个局部的小区域或小窗口完成的。如果在各个方向上移动这个特征的小窗口,窗口内区域的灰度发生了较大的变化,那么就认为在窗口内遇到了角点。如果这个特定的窗口在图像各个方向上移动时,窗口内图像的灰度没有发生变化,那么窗口内就不存在角点;如果窗口在某一个方向移动时,窗口内图像的灰度发生了较大的变化,而在另一些方向上没有发生变化,那么,窗口内的图像可能就是一条直线的线段。

    对于图像I(x,y),当在点(x,y)处平移xy)后的自相似性,可以通过自相关函数给出:

    c(x,yxy)=(u,v)W(x,y)w(u,v)(I(u,v)–I(ux,vy))2

    其中,W(x,y)是以点(x,y)为中心的窗口,w(u,v)为加权函数,它既可是常数,也可以是高斯加权函数。


    根据泰勒展开,对图像I(x,y)在平移xy)后进行一阶近似:           I(ux,vy)=I(u,v)+Ix(u,vx+Iy(u,vy+Ox2,Δy2)≈I(u,v)+Ix(u,vx+Iy(u,vy

    其中,Ix,Iy是图像I(x,y)的偏导数,这样的话,自相关函数则可以简化为: 

     c(x,yxy)≈w(Ix(u,vx+Iy(u,vy)2=[Δxy]M(x,y)[ΔxΔy]

    其中 M(x,y)=w[Ix(x,y)2Ix(x,y)Iy(x,y)Ix(x,y)Iy(x,y)Iy(x,y)2]=????wIx(x,y)2wIx(x,y)Iy(x,y)wIx(x,y)Iy(x,y)wIy(x,y)2????=[ACCB]

    也就是说图像I(x,y)在点(x,y)处平移xy)后的自相关函数可以近似为二项函数:

    c(x,yxy)≈AΔx2+2CΔxΔy+BΔy2

    其中

    A=wI2x,B=wI2y,C=wIxIy

    二次项函数本质上就是一个椭圆函数。椭圆的扁率和尺寸是由M(x,y)的特征值λ1λ2决定的,椭贺的方向是由M(x,y)的特征矢量决定的,如下图所示,椭圆方程为:

    xy]M(x,y)[ΔxΔy]=1

    椭圆函数特征值与图像中的角点、直线(边缘)和平面之间的关系如下图所示。共可分为三种情况:

    图像中的直线。一个特征值大,另一个特征值小,λ>1λ2λ2>λ1。自相关函数值在某一方向上大,在其他方向上小。

    图像中的平面。两个特征值都小,且近似相等;自相关函数数值在各个方向上都小。

    图像中的角点。两个特征值都大,且近似相等,自相关函数在所有方向都增大。


    根据二次项函数特征值的计算公式,我们可以求M(x,y)矩阵的特征值。但是Harris给出的角点差别方法并不需要计算具体的特征值,而是计算一个角点响应值R来判断角点。R的计算公式为:

    R=detM?α(traceM)2

    式中,detM为矩阵M=[ABBC]的行列式;traceM为矩阵M的直迹;α为经常常数,取值范围为0.04~0.06。事实上,特征是隐含在detMtraceM中,因为,

    detM=λ1λ2=AC?B2

    traceM=λ2+λ2=A+C

    SURF特征提取简介:

    计算机视觉中,引入尺度不变的特征,主要的思想是每个检测到的特征点都伴随着对应的尺寸因子。当我们想匹配不同图像时,经常会遇到图像尺度不同的问题,不同图像中特征点的距离变得不同,物体变成不同的尺寸,如果我们通过修正特征点的大小,就会造成强度不匹配。为了解决这个问题,提出一个尺度不变的SURF特征检测,在计算特征点的时候把尺度因素加入之中。SURF与SIFT算法相似,SIFT算法比较稳定,检测特征点更多,但是复杂度较高,而SURF要运算简单,效率高,运算时间短一点

    SURF (Speeded Up Robust Features)isa robust local feature detector, first presented by Herbert Bay et al. in 2006, that can be used in computer vision tasks likeobject recognition or 3D reconstruction. It is partly inspired by the SIFT descriptor.The standard version of SURF is several times faster than SIFT and claimed by its authors to be more robust against different image transformations than SIFT. SURF is based on sums of2D Haar wavelet responses and makes an efficient use ofintegral images.It uses an integer approximation to the determinant of Hessian blob detector, which can be computed extremely quickly with an integral image (3 integer operations). For features, it uses the sum of the Haar wavelet response around the point of interest. Again, these can be computed with the aid of the integral image".

    从上述对SURF描述,可知:第一、SURF算法是对SIFT算法加强版,同时加速的具有鲁棒性的特征。第二、标准的SURF算子比SIFT算子快好几倍,并且在多幅图片下具有更好的鲁棒性。SURF最大的特征在于采用了harr特征以及积分图像integral image的概念,这大大加快了程序的运行时间。





    展开全文
  • SIFT特征提取+匹配

    2018-10-20 14:31:35
    该程序调用opencv库函数实现的SIFT特征提取匹配,其中有两组图片以供测试。程序配置库为opencv2.4.9+vs2013。
  • https://github.com/MichaelBeechan/VisualOdometry_BasedOnSURF %% Name:Michael Beechan %% School:Chongqing University of Technology %% Time:2018.12.11 %% Function:Extract image features 原图像: %% ...

    了解博主更多项目查看

    github:https://github.com/MichaelBeechan

    CSDN:https://blog.csdn.net/u011344545

    ====================================================================

    代码下载:https://github.com/MichaelBeechan/VisualOdometry_BasedOnSURF

    %% Name:Michael Beechan
    %% School:Chongqing University of Technology
    %% Time:2018.12.11
    %% FunctionExtract image feat

    展开全文
  • MATLAB--数字图像处理 特征匹配

    千次阅读 2019-10-18 16:56:37
    混乱场景目标图像检测(特征匹配) 代码(从大佬那copy的) boxImage = imread('car2_1.png'); sceneImage = imread('car2.jpg'); boxImage = rgb2gray(boxImage); sceneImage =rgb2gray(sceneImage); %% Step 2...
  • ORB特征提取与匹配

    千次阅读 2018-10-14 15:37:15
    ORB特征是目前最优秀的特征提取与匹配算法之一,下面具体讲解一下: 特征点的检测 图像特征点可以简单的理解为图像中比较显著显著的点,如轮廓点,较暗区域中的亮点,较亮区域中的暗点等。ORB采用FAST(features ...
  • 指纹图像特征提取是指纹识别的关键,而指纹匹配通常基于细节点匹配。指纹特征提取是从细化后的指纹图中得到细节特征点(即端点和分叉点),此特征点含有大量的伪特征,既耗时又影响匹配精度。本章采用了边缘去伪和...
  • 基于MATLAB的LBP图片特征提取算法,人脸识别算法,经过测试很好用
  • 图像中角点(特征点)提取与匹配算法

    热门讨论 2012-05-10 14:18:51
    图像中角点(特征点)提取与匹配算法,本文所采用的角点检测算法是Harris角点检测算法,该算法的基本原理是取以目标像素点为中心的一个小窗口,计算窗口沿任何方向移动后的灰度变化,并用解析形式表达。
  • 本设计系统主要对指纹图像进行三方面处理:图像预处理、特征提取特征匹配图像预处理包括四个步骤:图像灰度化、滤波增强、二值化、细化,对指纹图像进行预处理后,去除了原图像的冗余部分,方便后续的识别处理;...
  • gabor提取图像特征原理及其matlab实现

    热门讨论 2012-11-19 18:04:06
    包括gabor滤波器及其原理,并通过matlab实现gabor算法,可供学习和参考
  • matlab开发-特征图像关键点提取。在图像中查找、匹配和打印特征点。
  • matlab实现的SIFT特征提取的全代码,可运行 可测试 很不错的sift原代码
  • 2012年最新语言图像特征提取匹配源代码
  • LBP图像特征提取matlab程序

    热门讨论 2010-11-10 21:09:52
    程序使用3*3窗口大小的LBP图像特征提取,一个比较简单的matlab程序。
  • 图像预处理和特征提取匹配.rar
  • 详细的数字指纹图像特征提取与匹配的程序,用MATLAB实现,匹配效果很好
  • Matlab之SYRF:SURF特征提取匹配SURF extraction and matching(1) 输出结果 实现代码 % Example 3, Affine registration % Load images I1=im2double(imread('lena1.png')); I2=im2double(imread('...
  • 基于MATLAB的指纹识别与匹配

    万次阅读 多人点赞 2019-08-28 22:04:15
    6.匹配(未完待续) 主函数代码 close all clear all clc im1=imread('108_4.tif'); figure imshow(im1);title('原图像'); I=normalize2(im1);%归一化和切割 figure imshow(uint8(I)); ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,965
精华内容 2,386
关键字:

matlab图像特征提取与匹配

matlab 订阅