当前位置: 首页 > wzjs >正文

做网站开发的经营范围企业网站设计图片

做网站开发的经营范围,企业网站设计图片,apache 创建网站,青岛网站建设推广目录 SIFT特征提取 一、原理核心步骤 1. 尺度空间极值检测 2. 关键点定位 3. 方向分配 4. 描述子生成 二、SIFT算法具有的特点 三、SIFT特征提取器的简单使用 1、特征检测器的创建 2、 检测图像中的关键点 3、绘制关键点 4、计算关键点描述符 四、SIFT 算法的优缺点…

目录

SIFT特征提取

一、原理核心步骤

1. 尺度空间极值检测

2. 关键点定位

3. 方向分配

4. 描述子生成

二、SIFT算法具有的特点

三、SIFT特征提取器的简单使用

1、特征检测器的创建

2、 检测图像中的关键点

3、绘制关键点

4、计算关键点描述符

四、SIFT 算法的优缺点

六、注意事项

1、输入图像预处理

2、参数调优

总结


SIFT特征提取

SIFT(Scale Invariant Feature Transform)尺度不变特征变换。SIFT特征具有对旋转、尺度缩放、亮度变化等保持不变性,是一种非常稳定的局部特征,广泛应用于图像匹配、目标识别、全景拼接等任务。

一、原理核心步骤

1. 尺度空间极值检测

  • 通过高斯卷积构建图像的尺度空间(不同尺度的模糊图像),在相邻尺度和空间位置中寻找极值点(潜在关键点)。

  • 目的:确保检测到的关键点具有尺度不变性。

2. 关键点定位

  • 对极值点进行拟合,去除低对比度点和边缘响应强的点(通过 Hessian 矩阵排除边缘效应),保留稳定的关键点。

3. 方向分配

  • 计算关键点邻域的梯度方向直方图,为每个关键点分配主方向(及辅方向),使描述子具有旋转不变性。

4. 描述子生成

  • 在关键点邻域(如 16x16 像素)内,按主方向划分 4x4 子区域,计算每个子区域的梯度方向和幅值,生成 128 维的特征向量(描述子)。

二、SIFT算法具有的特点

1、图像的局部特征,对旋转、尺度缩放、亮度变化保持不变,对视角变化、仿射变换、噪声也保持一定程度的稳定性。

2、独特性好,信息量丰富,适用于海量特征库进行快速、准确的匹配。

3、多量性,即使是很少几个物体也可以产生大量的SIFT特征

4、高速性,经优化的SIFT匹配算法甚至可以达到实时性

5、扩招性,可以很方便的与其他的特征向量进行联合。

三、SIFT特征提取器的简单使用

1、特征检测器的创建

sift=cv2.SIFT_create(nfeatures=0, contrastThreshold=0.04, edgeThreshold=10, sigma=1.6) #cv2.xfeatures2d.SIFT_create()#创建一个sift特征的提取对象
sift.detect(img)在图像中查找关键点,返回的结果就是关键点信息

核心参数解释:

(1)nfeatures(int,默认 = 0)保留响应值最高的前nfeatures个关键点(按响应值降序排列)。0 表示保留所有关键点,适用于需要完整特征的场景;实际应用中可限制数量以减少计算量(如设为 500).

(2)contrastThreshold(float,默认 = 0.04)

关键点对比度阈值,用于过滤低对比度的点(通过非极大值抑制)。值越小,保留的关键点越多(包括低对比度点,可能引入噪声);通常设为 0.01~0.1。

(3)edgeThreshold(float,默认 = 10)过滤边缘响应强的点(通过 Hessian 矩阵的迹与行列式比值)。值越小,对边缘越敏感,保留的非边缘关键点越少(建议设为 10~15)。

(4)sigma(float,默认 = 1.6)高斯金字塔底层图像的初始标准差,控制尺度空间的初始模糊程度。较大值(如 2.0)会检测到更大尺度的关键点,适合模糊图像;较小值(如 1.0)适合细节丰富的图像。

2、 检测图像中的关键点

phone = cv2.imread('man.png')
phone_gray = cv2.cvtColor(phone,cv2.COLOR_BGR2GRAY)#
sift = cv2.SIFT_create()  #sift对象
kp = sift.detect(phone_gray)
关键点的特征值
kp.pt:关键点的(x, y)坐标。
kp.size:关键点的大小(尺度)。
kp.angle:关键点的方向。
kp.response:关键点的响应值。
kp.octave:关键点所在的金字塔层级。

3、绘制关键点

drawKeypoints(image, keypoints, outImage, color=None, flags=None)
image:原始图片
keypoints:从原图中获得的关键点,这也是画图时所用到的数据
outputimage:输出图像,可以是原始图片,也可以是None
color:颜色设置,通过修改(b,g,r)的值,更改画笔的颜色,b=蓝色,g=绿色,r=红色。
flags:绘图功能的标识设置  
phone_sift = cv2.drawKeypoints(man,kp,None,flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv2.imshow('phone_sift',phone_sift)
cv2.waitKey(0)

4、计算关键点描述符

kp,des = sift.compute(man,kp) 
print(np.array(kp).shape,des.shape)        #输出关键点的形状和描述符的形状。

输出关键点的形状和描述符的形状。 np.array(kp).shape 表示关键点的数量和属性。 des.shape 表示描述符的数量和属性。 

四、SIFT 算法的优缺点

优点缺点
1. 尺度、旋转、亮度不变性1. 计算复杂度高,实时性差
2. 特征区分度强,适合复杂场景匹配2. 专利受限(OpenCV 3.4 + 需手动编译或使用非官方构建)
3. 描述子维度固定(128 维),便于匹配3. 对重复纹理和弱纹理区域效果差

六、注意事项

1、输入图像预处理

        建议先进行灰度化(SIFT 仅处理单通道图像)和高斯降噪(减少噪声对关键点的影响)。

2、参数调优

        (1)若检测到的关键点过少,可降低contrastThreshold或增大nfeatures

        (2)若关键点密集且包含边缘噪声,可增大edgeThreshold(如设为 20)。

总结

SIFT 是特征提取领域的标杆算法,其核心优势在于尺度和旋转不变性,适用于复杂场景的图像匹配和识别。尽管存在计算速度和专利问题,但其在学术研究和工业级应用中仍被广泛使用。通过合理调整cv2.SIFT_create()的参数,可在特征数量和质量之间取得平衡,满足不同场景的需求。实际应用中,若需实时性,可考虑 ORB 等轻量算法;若追求精度,SIFT 仍是首选之一。

http://www.dtcms.com/wzjs/61278.html

相关文章:

  • 石家庄p2p网站开发域名138查询网
  • 如何建网站做传奇网友电影站的seo
  • 迪庆网站建设今日最新闻
  • 12306网站建设花了多少钱大数据培训
  • wordpress企业魔板山东seo网页优化外包
  • 厦门建设执业资格注册管理中心网站排名优化价格
  • 织梦网站0day漏洞企业网络推广方案策划书
  • 动态网站设计与开发软文营销写作技巧有哪些?
  • 网站如何做线上支付功能百度网站是什么
  • 网站开发平台 运行平台优化培训方式
  • 男科医院网站建设公司百度引流推广费用多少
  • 互联网怎么做网站360优化大师安卓手机版下载安装
  • 最流行的网站开发小游戏推广接单平台
  • ecshop 做企业网站seo如何优化的
  • wordpress导航栏特效插件杭州seo 云优化科技
  • 做设计任务的网站成都网站seo公司
  • 建网站app需要多少钱病毒式营销的案例
  • 标签在数据库wordpressseo优化人员
  • 已备案域名查询网文章优化关键词排名
  • 网站的版权信息58同城关键词怎么优化
  • 网站手机版怎么做的阿里巴巴数据分析官网
  • 手机h5网站开发电脑网页制作
  • 怎么推广品牌seo自动优化工具
  • 响应式网站自助2022最新小学生新闻
  • 厦门旅游网站建设怎样把产品放到网上销售
  • 企业做网站需要什么手续吗如何建网站要什么条件
  • wordpress微信支付模板站长工具seo优化建议
  • 捡个杀手做老婆全集免费网站百度怎么发布短视频
  • 郑州专业做网站公seo牛人
  • 网站左侧的导航是怎么做的纹身网站设计