32-SIFI特征点提取(EmguCV学习)

article/2025/9/30 22:41:54

文章目录

    • Record
    • Code
    • 效果

Record

1、特征点检测与匹配常用的算法:FAST(FastFeatureDetector)、STAR(StarFeatureDetector)、SIFT、SURF、ORB、MSER、GFTT(GoodFeaturesToTrackDetector)、HARRIS、Dense、SimpleBlob等;
2、在EmguCV中,SIFT与SURF位于命名空间Emgu.CV.XFeatures2D下;
3、SIFT—尺度不变特征变换检测算法,SIFT特征对旋转,尺度缩放,亮度变化等保持不变性,是非常稳定的局部特征,应用广泛;
4、SIFT原理:设置尺度空间滤波器,关键点定位,为关键点指定方向参数(保持旋转不变性),
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5、SIFT算法接口:

在这里插入图片描述
MKeyPoint结构是用于表示特征点:
在这里插入图片描述
DrawKeyPoints()函数用于绘制所有关键点:
在这里插入图片描述

Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.Util;
using Emgu.CV.Structure;
using Emgu.CV.XFeatures2D;
using System.Drawing;
using Emgu.CV.Features2D;
using Emgu.CV.Util;namespace siftDetect
{class Program{static void Main(string[] args){Mat src1 = CvInvoke.Imread("01.jpg");//Mat src1 = CvInvoke.Imread("00.jpg");SIFT sift = new SIFT(1000,3,0.04,10,1.6);MKeyPoint[] mKeyPoints = sift.Detect(src1);Mat sift_feature = new Mat();VectorOfKeyPoint vkPoints = new VectorOfKeyPoint(mKeyPoints);Features2DToolbox.DrawKeypoints(src1, vkPoints, sift_feature, new Bgr(0, 255, 0), Features2DToolbox.KeypointDrawType.Default);Random random = new Random();for (int i = 0; i < mKeyPoints.Length; i++){Point keyP = new Point();keyP.X = (int)mKeyPoints[i].Point.X;keyP.Y = (int)mKeyPoints[i].Point.Y;CvInvoke.Circle(src1, keyP, 3, new MCvScalar(random.Next(0, 255), random.Next(0, 255), random.Next(0, 255)), -1);}CvInvoke.Imshow("drawkeypoint", sift_feature);CvInvoke.Imshow("out", src1);CvInvoke.WaitKey(0);}}
}

效果

该算法计算的特征点具有旋转不变性与缩放不变性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/N6bcVnMM.shtml

相关文章

SIFI特征点提取

尺度不变特征变换匹配算法详解 Scale Invariant Feature Transform(SIFT) Just For Fun zdd zddmailgmail.com 对于初学者&#xff0c;从David G.Lowe的论文到实现&#xff0c;有许多鸿沟&#xff0c;本文帮你跨越。 1、SIFT综述 尺度不变特征转换(Scale-invariant feature tr…

图像SIFI笔记

Image/userl representation > down screen tasks 端到端的 文本领域 字典 visual word本质是 local feature handcraft feature 希望这个具有足够的泛华性 generalize 为了有交集 泛化性 clustering 聚类 Quantization 量化 每张图像 有特征点 local feature sift(128d维…

特征点匹配(SIFI)

1.SIFI https://blog.csdn.net/weixin_38404120/article/details/73740612&#xff08;参考了这个作者的内容&#xff09; 结合书上加博客的内容进行理解&#xff1b; 求取SIFI特征的步骤&#xff1a; 首先要对图像归一化&#xff0c;然后将图像扩大为原来的两倍&#xff0…

SIFI和ORB在尺度缩放、旋转、仿射上的特征点不变实验代码,并比较SIFI和ORB提取特征点的速度

SIFI和ORB在尺度缩放、旋转、仿射上的特征点不变 一、SIFI算法1.验证旋转不变性2.验证尺度不变性3.验证仿射不变性 对原图进行仿射变换并输出 二、ORB算法1.验证旋转不变性2.验证尺度不变性3.验证仿射不变性 对原图进行仿射变换并输出 三、比较SIFT和ORB的尺度旋转&#xff0c;…

向量范数简述

向量范数&#xff1a;表征在向量空间中向量的大小 一般表示&#xff1a;,其中X是n维向量&#xff0c;一般如果省略下面的p且无特别说明的话&#xff0c;指的就是2范数&#xff0c;也叫欧几里得范数。对向量来说&#xff0c;就是指向量的模。 常用的向量范数&#xff1a; 0范…

欧几里得范数/欧几里得距离(L2范数)

首先m维空间的概念: Rm的距离结构: 2维平面空间: m维空间: 范形空间距离 n维矢量空间中的元素X的Lp范数: 其中X是一连串的向量 最常用的是L2范数: 本质是一个距离概念 参考:《数学分析》

概念理解_L2范数(欧几里得范数)

L2范数 L2范数、欧几里得范数一些概念。 首先&#xff0c;明确一点&#xff0c;常用到的几个概念&#xff0c;含义相同。 欧几里得范数&#xff08;Euclidean norm&#xff09; 欧式长度 L2 范数 L2距离 Euclidean norm Euclidean length L2 norm L2 distance norm 对于一…

0范数,1范数,欧几里得范数等范数总结

以下分别列举常用的向量范数和矩阵范数的定义。 向量范数 1-范数&#xff1a; 即向量元素绝对值之和&#xff0c;matlab调用函数norm(x, 1) 。 2-范数&#xff1a; Euclid范数&#xff08;欧几里得范数&#xff0c;常用计算向量长度&#xff09;&#xff0c;即向量元素绝对值…

范数、正则化、归一化、标准化

在总结正则化&#xff08;Regularization&#xff09;之前&#xff0c;我们先谈一谈正则化是什么&#xff0c;为什么要正则化。 个人认为正则化这个字眼有点太过抽象和宽泛&#xff0c;其实正则化的本质很简单&#xff0c;就是对某一问题加以先验的限制或约束以达到某种特定目的…

常见向量范数和矩阵范数

1、向量范数 1-范数&#xff1a;&#xff0c;即向量元素绝对值之和&#xff0c;matlab调用函数norm(x, 1) 。 2-范数&#xff1a;&#xff0c;Euclid范数&#xff08;欧几里得范数&#xff0c;常用计算向量长度&#xff09;&#xff0c;即向量元素绝对值的平方和再开方&#xf…

欧氏距离,l2范数,l2-loss,l2正则化

欧式距离,l2范数,l2-loss,l2正则化 1.欧氏距离2.L2范数范数计算公式L1范数L2范数在机器学习方面的区别为什么L2范数可以防止过拟合? 3.L2-Loss4.L2正则化正则化L2正则化 参考文献 1.欧氏距离 距离度量&#xff08;Distance&#xff09;用于衡量个体在空间上存在的距离&#x…

pytorch求范数函数——torch.norm

torch.norm(input, pfro, dimNone, keepdimFalse, outNone, dtypeNone) 返回所给定tensor的矩阵范数或向量范数,所谓范数也就是把一个高纬度的东西,压缩成为一个大于等于零的数,用以估算这里东西的大小(幅度) 参数&#xff1a; input&#xff1a;输入tensorp (int, float, i…

来自知乎的范数理解

以下分别列举常用的向量范数和矩阵范数的定义。 向量范数 1-范数&#xff1a; &#xff0c;即向量元素绝对值之和&#xff0c;matlab调用函数norm(x, 1) 。 2-范数&#xff1a; &#xff0c;Euclid范数&#xff08;欧几里得范数&#xff0c;常用计算向量长度&#xff09;&…

16.1 几何空间

文章目录 1 欧几里得范数2 距离3 标准内积5 夹角与正交6 叉乘7 平行四边形法则8 欧几里得运动 几何空间是用线性代数解决几何问题的一类空间&#xff0c;这是线性代数学习绕不过去的槛。几何空间&#xff0c;学习起来我觉得吧&#xff0c;主要是三个点&#xff1a;内积、长度、…

常见向量范数和矩阵范数及其MATLAB实现

参考 常见向量范数和矩阵范数及其MATLAB实现 - 云社区 - 腾讯云 1、向量范数 1-范数&#xff1a;&#xff0c;即向量元素绝对值之和&#xff0c;matlab调用函数norm(x, 1) 。 2-范数&#xff1a;&#xff0c;Euclid范数&#xff08;欧几里得范数&#xff0c;常用计算向量长度…

MATLAB 欧几里得算法

MATLAB 欧几里得算法以及扩展欧几里得算法 前言一、Euclid算法二、Code1.引入库2.读入数据 前言 提示&#xff1a;在线性代数或高等代数中以熟悉求两个多项式最大公因子 一、Euclid算法 输入两个多项式 g(x) , h(x) ∈ F(x),满足 deg g(x) ≥ deg h(x) , 且 g(x) ≠ 0, 二、…

【 MATLAB 】norm ( Vector and matrix norms )(向量范数以及矩阵范数)

norm Vector and matrix norms Syntax n norm(v) n norm(v,p) n norm(X) n norm(X,p) n norm(X,fro) Description n norm&#xff08;v&#xff09;返回向量v的欧几里德范数。该范数也称为2范数&#xff0c;向量幅度或欧几里德长度。 n norm&#xff08;v&#…

向量范数

向量范数的定义如下&#xff1a; 若实值函数&#xff08;n维向量空间向一维向量空间的映射&#xff09;&#xff1a;满足下列条件&#xff1a; &#xff08;1&#xff09;&#xff0c;&#xff1b;当且仅当&#xff1b; &#xff08;2&#xff09;&#xff0c;&#xff0c;&…

向量和矩阵的各种范数

向量和矩阵的各种范数 一、向量的范数 首先定义一个向量为&#xff1a;a[-5&#xff0c;6&#xff0c;8, -10] 1.1 向量的1范数 向量的1范数即&#xff1a;向量的各个元素的绝对值之和&#xff0c;上述向量a的1范数结果就是&#xff1a;29&#xff0c;MATLAB代码实现为&…

欧几里得范数

原文链接 点击打开链接 1 范数 向量的范数可以简单形象的理解为向量的长度&#xff0c;或者向量到零点的距离&#xff0c;或者相应的两个点之间的距离。 2 距离 欧式距离&#xff08;对应L2范数&#xff09;&#xff1a;最常见的两点之间或多点之间的距离表示法&#xff0c;…