Lesson4-1:OpenCV图像特征提取与描述---角点特征

news2025/7/3 4:19:12

学习目标

  • 理解图像的特征
  • 知道图像的角点

1 图像的特征

大多数人都玩过拼图游戏。首先拿到完整图像的碎片,然后把这些碎片以正确的方式排列起来从而重建这幅图像。如果把拼图游戏的原理写成计算机程序,那计算机就也会玩拼图游戏了。

在拼图时,我们要寻找一些唯一的特征,这些特征要适于被跟踪,容易被比较。我们在一副图像中搜索这样的特征,找到它们,而且也能在其他图像中找到这些特征,然后再把它们拼接到一起。我们的这些能力都是天生的。

那这些特征是什么呢?我们希望这些特征也能被计算机理解。

如果我们深入的观察一些图像并搜索不同的区域,以下图为例:
在这里插入图片描述
在图像的上方给出了六个小图。找到这些小图在原始图像中的位置。你能找到多少正确结果呢?

A A A B B B 是平面,而且它们的图像中很多地方都存在。很难找到这些小图的准确位置。

C C C D D D 也很简单。它们是建筑的边缘。可以找到它们的近似位置,但是准确位置还是很难找到。这是因为:沿着边缘,所有的地方都一样。所以边缘是比平面更好的特征,但是还不够好。

最后 E E E F F F 是建筑的一些角点。它们能很容易的被找到。因为在角点的地方,无论你向哪个方向移动小图,结果都会有很大的不同。所以可以把它们当成一个好的特征。为了更好的理解这个概念我们再举个更简单的例子。

在这里插入图片描述
如上图所示,蓝色框中的区域是一个平面很难被找到和跟踪。无论向哪个方向移动蓝色框,都是一样的。对于黑色框中的区域,它是一个边缘。如果沿垂直方向移动,它会改变。但是如果沿水平方向移动就不会改变。而红色框中的角点,无论你向那个方向移动,得到的结果都不同,这说明它是唯一的。 所以,我们说角点是一个好的图像特征,也就回答了前面的问题。

角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。角点在三维场景重建运动估计,目标跟踪、目标识别、图像配准与匹配等计算机视觉领域起着非常重要的作用。在现实世界中,角点对应于物体的拐角,道路的十字路口、丁字路口等

那我们怎样找到这些角点呢?接下来我们使用 OpenCV 中的各种算法来查找图像的特征,并对它们进行描述。


总结

  1. 图像特征

    图像特征要有区分性,容易被比较。一般认为角点,斑点等是较好的图像特征

    特征检测:找到图像中的特征

    特征描述:对特征及其周围的区域进行描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/974105.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Problem: 205. 同构字符串;力扣;python

题目描述 代码展示 # class Solution: # def isIsomorphic(self, s: str, t: str) -> bool: # dict {} # flag 0 # for i in range(len(s)): # #记录,s # if s[i] not in dict.keys(): # …

【真题解析】系统集成项目管理工程师 2023 年上半年真题卷(综合知识)

本文为系统集成项目管理工程师考试(软考) 2023 年上半年真题(全国卷),包含答案与详细解析。考试共分为两科,成绩均 ≥45 即可通过考试: 综合知识(选择题 75 道,75分)案例分析(问答题 4 道,75分)综合知识(选择题*75)1-10 题11-20 题21-30 题31-40 题41-50 题51-60 …

让GPT成为您的科研加速器丨GPT引领前沿与应用突破之GPT4科研实践技术与AI绘图

GPT对于每个科研人员已经成为不可或缺的辅助工具,不同的研究领域和项目具有不同的需求。如在科研编程、绘图领域:1、编程建议和示例代码:无论你使用的编程语言是Python、R、MATLAB还是其他语言,都可以为你提供相关的代码示例。​2、数据可视化…

vs code调试rust乱码问题解决方案

在terminal中 用chcp 65001 修改一下字符集,就行了。有的博主推荐 修改 区域中的设置,这会引来很大的问题。千万不要修改如下设置:

宁德时代龙头,比亚迪榜眼:1-7 月全球电动汽车电池市场份额公布

根据SNE Search公布的数据显示,今年1-7月全球电动汽车电池的消费总量为362.9 千兆瓦时(GWh),比去年同期的243.2 千兆瓦时(GWh)增长了49.2%。这表明电动汽车市场的增长势头依然强劲。 在这些数据中&#xff…

QuantLib学习笔记——InterestRate的应用

⭐️ 单利还是复利 巴菲特老爷子有句名言:“人生就像滚雪球,重要的是发现很湿的雪和很长的坡。” 很湿的雪,指的就是复利。很长的坡,指的就是时间。很湿的雪和很长的坡组合起来,就能滚成巨大的雪球。 哈哈&#xff0…

南京市玄武区委常委、组织部部长任宁一行率企业家研修班莅临麒麟信安调研交流

为学习在先进科学技术、人才引育等方面的领先经验,进一步加强交流合作,9月4日上午,南京市玄武区委常委、组织部部长任宁,玄武区委组织部副部长、两新工委书记鲁琳,玄武区委组织部人才综合服务科科长韩静玮等领导一行带…

Apache NIFI将Json数据转为SQL语句并插入到数据库表中

说明 本文中的NIFI是使用docker进行安装的,所有的配置参考:docker安装Apache NIFI 需求背景 现在有一个文件,里面存储的是一些json格式的数据,要求将文件中的数据存入数据库表中,以下是一些模拟的数据和对应的数据库…

Linux_VMware_虚拟机磁盘扩容

来源文章 :VMware教学-虚拟机扩容篇_vmware虚拟机扩容_系统免驱动的博客-CSDN博客 由于项目逐步的完善,需要搭建的中间件,软件越来越多,导致以前虚拟机配置20G的内存不够用了,又不想重新创建新的虚拟机,退…

数据脱敏sensitive(前端或数据库加密,解密)

可以对数据加密,解密,对数据库加密的数据进行解密显示,对数据库没有加密的数据进行加密处理展示前端等待 1:引入数据如下结构 1-1:SensitiveDecode脱敏解密注解 package com.example.poi.desensitization.annotation;…

【python基础知识】3.input()函数

文章目录 前言input()函数input()函数的使用input()函数结果的赋值input()函数的数据类型input()函数结果的强制转换input()函数知识点总结 综合复习 前言 在前面的学习中,我们学会了用print()函数对计算机下简单的命令,开始接触Python里不同类型的数据…

props和$emit

<template> <div class"son" style"border: 3px solid #000; margin: 10px"> 我是Son组件 {{ title }} <button click"changeFn">修改title</button> </div> </template> <script> expo…

电脑显示器无信号?这样做!(问题已解决)

“真的很奇怪哎&#xff0c;我的电脑显示器居然无信号。用着用着电脑就黑了&#xff0c;为什么会出现这种情况呢&#xff1f;请大佬为我解答&#xff01;” 有些朋友可能会发现&#xff0c;当我们打开电脑时&#xff0c;电脑显示器却显示“无信号”。这是为什么呢&#xff1f;电…

Elsaticsearch倒排索引

搜索引擎应该具有什么要求&#xff1f; 查询快 高效的压缩算法 快速的编码和解码速度 结果准确 BM25 TF-IDF 检索结果丰富 召回率 面向海量数据&#xff0c;如何达到搜索引擎级别的查询效率&#xff1f; 索引 帮助快速检索以数据结构为载体以文件形式落地 倒排…

【Flutter】Flutter 使用 qr_flutter 实现QR码二维码生成与渲染

【Flutter】Flutter 使用 qr_flutter 实现QR码二维码生成与渲染 文章目录 一、前言二、qr_flutter 包简介三、安装与配置四、基本使用五、高级功能与自定义六、完整实际业务代码示例七、总结 一、前言 亲爱的 Flutter 初学者&#xff0c;你好&#xff01;今天我要与你分享一个…

vue3在路由route.js中获取不到仓库pinia中store里面的值

原因&#xff1a;小仓库(useUserStore )必须有大仓库(pinia)才能运行&#xff0c;在组件中能使用pinia仓库的数据&#xff0c;是因为在main.ts中已经在vue上面挂载了大仓库(pinia)&#xff0c;但是route.js不是vue组件&#xff0c;没有被挂载大仓库&#xff0c;所以不能运行 解…

如何在arXiv上发表一篇文章

目录 1. 初始信息确认2. 提交论文文件3. 论文编译结果4. 补充论文信息5. 总览 1. 初始信息确认 版权问题需要根据个人情况选择。 IEEE, Elsevier, BioMed Central, 这几个出版商都允许在投稿之前挂文章到arXiv下。通常是选择&#xff1a; arXiv.org perpetual, non-exclusive l…

C#常用多线程(线程同步,事件触发,信号量,互斥锁,共享内存,消息队列)

using System; using System.Threading; using System.Windows.Forms; using UtilForm.Util;namespace UtilForm {// 线程同步&#xff0c;事件触发&#xff0c;信号量&#xff0c;互斥锁&#xff0c;共享内存&#xff0c;消息队列public partial class frmUIThread : Form{ Sy…

统计学极简入门——区间估计

4. 区间估计 还以为你被上节课的内容唬住了~终于等到你&#xff0c;还好没放弃&#xff01; 本节我们将说明两个问题&#xff1a;总体均值 μ \mu μ 的区间估计和总体比例 p ˉ \bar{p} pˉ​ 的区间估计。 区间估计经常用于质量控制领域来检测生产过程是否正常运行或者在…

Linux:工具(vim,gcc/g++,make/Makefile,yum,git,gdb)

目录 ---工具功能 1. vim 1.1 vim的模式 1.2 vim常见指令 2. gcc/g 2.1 预备知识 2.2 gcc的使用 3.make,Makefile make.Makefile的使用 4.yum --yum三板斧 5.git --git三板斧 --Linux下提交代码到远程仓库 6.gdb 6.1 gdb的常用指令 学习目标&#xff1a; 1.知道…