OpenCV-Python(29):图像特征

目录

目标

背景介绍

常用特征

应用场景 


目标

  •  理解什么是图像特征
  •  为什么图像特征很重要
  •  为什么角点很重要

背景介绍

        相信大多数人都玩过拼图游戏吧。首先你们拿到一张图片的一堆碎片,你要做的就是把这些碎片以正确的方式排列起来从而重建这幅图像。问题是,你怎样做到的呢。如果把你做游戏的原理写成计算机程序,那么计算机就也会玩拼图游戏了。如果计算机可以玩拼图,我们就可以给计算机一大堆自然图片,然后就可以让计算机把它拼成一张大图了。如果计算算机可以自动拼接自然图片,我们是不是可以给计算机关于一个建筑的的大量图片,然后然后让算机给我们创建一个3D 的的模型呢?

        问题和联想可以无边无际。但是所有的这些都是建立在一个基础之上的。这个问题就是我们是如何玩拼图的?我们是如何把一堆碎片拼在一起的?我们又是如何把一个个自然场景拼接成一个单独图像的?

        答案就是:我们需要寻找一些唯一的特征,这些特征要适于被跟踪,容易被比较。如果我们要定义这样一种特征,然我们知道它是什么但很难用语言来描述。如果你找出一个可以在不同图片之相互比较好的特征,你肯定能搞定。这就是为什么小孩子也会玩拼图的原因。我们在一副图像中搜索这样的特征,我们能找到它们,而且也能在其他图像中找到这些特征,然后再把它们拼接到一块。(在拼图游戏中,我们更注重的是图片之间的连续性)。我们的这些能力是天生的。所以我们的一个问题现在扩展成了几个,但是更加确切了。这些特征是什么呢?我们的答案必须也能让算机理解才可以。好吧,很难说人是怎样找出这些特征的。这些能力已经刻在我们的大脑中了。但是如果我们深入的观察一些图像并搜索不同的pattern,我们会发现一些有趣的事。以下图为例:

        图像很简单。在图像的上方给出了六个小图。你要做的就是找到这些小图在原始图像中的位置。你能找到多少正确结果呢?
        A 和B 是平面,而且它们的图像中很多地方都存在,很难找到这些小图的准确位置。
        C 和D 更简单,它们是建筑的边缘。你可以找到它们的近似位置,但是准确位置是很难找到。这是因为:沿着边缘,所有的地方都一样。所以边缘是比平面更好的特征,但是不够好。(在拼图游戏中要找连续的边缘)。
        最后E 和F,它们是建筑的一些角点。它们能很容易的被找到。因为在角点的地方,无论你向哪个方向移动小图,结果都会有很大的不同。所以可以把它们当成一个好的特征。为了更好的理解这个概念我们举个更简单的例子。 

        如上图所示,蓝色框中的区域是一个平面很难找到和追踪。无论你向哪个方向移动蓝色框,里面的内容长得都一样。对于黑色框中的区域,它是一个边缘。如果你沿垂直方向移动,它会改变,但是如果沿水平方向移动就不会改变。而红色框中的角点,无论你向哪个方向移动得到的结果都是不同的,这证明它是唯一的。所以,基本上来说,角点是一个好的图像特征。值得一提的是,不仅仅是角点,有些情况下斑点也是好的图像特征。
        现在我们终于回答了前面的问题了,这些特征是什么(角点)。但是下一个问题又来了。我们怎样找到它们?或者说我们怎样找到角点?我们也已经用一种直观的方式做了回答,比如在图像中找一些区域,无论你想在哪个方向移动,这些区域变化都很大。在下一节中我们会用计算机语言来实现这个想法。所以,找到图特征的技术被称为特征检测
        现在我们找到了图像特征(假如你已经搞定)。在找到这些之后,你应该在其它图像中也找到同样的特征。我们应该怎么做呢?我们选择特征周围的一个区域,然后用我们自己的语言来描􄦟它,比如:“上边是蓝天,下边是建筑,在建筑上有很多玻璃等”,然后你就可以在其他图片中搜索相同的区域了。基本上看来,你是在描述特征。同样计算机也会对特征周围的区域进行描述,这样它才能在其他图像中找到相同的特征。我们把这种对特征的形容和描述称为特征描述。当你有了特征和它们的描述后,你就可以在所有的图像中找这个相同的特征了,找到之后你就可以做任何你想做的图像处理和模式识别相关的事情了,比如特征匹配,图像相似度检测等。

常用特征

        图像特征是指图像中具有一定代表性和可区分性的局部区域或全局属性。图像特征可以用于图像处理、计算机视觉和模式识别等领域的任务,如特征检测、目标识别、图像匹配等。

常见的图像特征包括:

1.灰度特征:通过对图像像素的灰度值进行统计分析,得到图像的亮度分布特征。

2.颜色特征:通过提取图像中的颜色信息,可以用于图像分类、目标识别等任务。

3.纹理特征:通过分析图像中的纹理信息,可以描述图像的纹理结构和细节特征。

4.形状特征:通过对图像中物体的形状进行描述,可以用于目标检测、边缘检测等任务。

5.尺度不变特征变换(Scale-Invariant Feature Transform,SIFT):通过检测图像中的局部特征点,提取具有尺度不变性的特征描述子。

        特征检测是指在图像中寻找具有代表性的局部区域或全局属性的过程。常见的特征检测算法包括哈里斯角点检测、SIFT、SURF、FAST等。

应用场景 

特征检测的应用场景包括:

1.目标识别:通过比对图像中的特征与已知模板特征,可以实现对目标物体的自动识别和定位。

2.图像拼接:通过对图像中的特征点进行匹配,可以实现多幅图像的拼接。

3.视觉里程计:通过对图像中的特征点进行跟踪和匹配,可以实现机器人或车辆的定位和导航。

4.图像检索:通过提取图像的特征向量,可以实现对图像数据库的内容检索和相似图像搜索。

5.图像增强:通过对图像中的特征进行增强和突出,可以改善图像的视觉效果和质量。

        总之,图像特征的检测和应用可以帮助我们从图像中提取有用的信息,并实现图像处理和分析的各种任务。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

操作系统:分页存储管理方式

页式存储管理中,主存空间按页分配,可用一张“位示图”构成主存分配表。假设主存容量为2M字节,页面长度为512字节,若用字长为32位的字作主存分配的“位示图”需要多少个字?如页号从1开始,字号和字内位号&…

centos7.9 TCP 加速

BBR是谷歌开发的新的TCP加速算法,在网络状况不好的服务器上开启TCP的bbr,可以在无需增加任何硬件投入的情况下实现网络加速,并且客户端无需做任何配置,因此使用起来非常的方便。TCP加速对网络状况较好的内网环境,或者大…

竞赛保研 基于大数据的股票量化分析与股价预测系统

文章目录 0 前言1 课题背景2 实现效果3 设计原理QTChartsarma模型预测K-means聚类算法算法实现关键问题说明 4 部分核心代码5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于大数据的股票量化分析与股价预测系统 该项目较为新颖…

Ubuntu20.04配置

新建用户 sudo adduser username给用户sudo权限 新创建的用户没有root权限,我们执行以下命令给用户sudo权限 sudo usermod -a -G adm username sudo usermod -a -G sudo username删除用户 删除用户及用户所有文件(/home/username/路径下的所有文件&a…

C语言实验5:结构体

目录 一、实验要求 二、实验原理 1. 普通结构体 1.1 显示声明结构体变量 1.2 直接声明结构体变量 ​编辑 1.3 typedef在结构体中的作用 2. 结构体的嵌套 3. 结构体数组 4. 指向结构体的指针 4.1 静态分配 4.2 动态分配 三、实验内容 1. 学生数据库 代码 截图 …

【pandas_不重复项计数】

听说WPS没有非重复项计数的功能,而office需要添加到数据模型之后,才可以使用该功能。而用pandas,既可以对重复项计数,又可以对非重复项计数。 # 使用提醒: # 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能 # 2. pack…

【NTN 卫星通信】Oneweb星座以及Oneweb与Starlink比较

1 什么是OneWeb OneWeb于2012年以WorldVu的名义成立,于2020年开始构建其星座。然而,对于这家英国公司来说,这是一个艰难的旅程,OneWeb于2020年3月宣布破产,并认为covid-19大流行是一个主要因素。OneWeb星座当时仅完成…

toto的2023年终总结

第一次写年终总结,其实顺带是把大学四年的学习都给总结了一下,称之为大学总结更为合适吧? 其实把年终总结发在CSDN上有些不适,之前一直想着搭一个自己的博客也因为种种事情一直没有完成, 索性发在这里了,作…

SpringBoot 请求参数

文章目录 一、简单参数实体参数数组集合参数日期参数Json参数路径参数 一、简单参数 原始方式 在原始的web程序中,获取请求参数,需要通过HttpServletRequest 对象手动获取。 SpringBoot方式 1.参数名与形参变量名相同,定义形参即可接收参数。…

负载均衡概述

负载均衡 负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 四层负载均衡 vs 七层负载均衡 四层负载均衡(目标地址和端口交换)…

安装与部署Hadoop

一、前置安装准备1、机器2、java3、创建hadoop用户 二、安装Hadoop三、环境配置1、workers2、hadoop-env.sh3、core-site.xml4、hdfs-site.xml5、linux中Hadoop环境变量 四、启动hadoop五、验证 一、前置安装准备 1、机器 主机名ip服务node1192.168.233.100NameNode、DataNod…

基于知识图谱的智能辅助需求管理体系介绍

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、背景 需求处理各环节的各参与方人员存在变更,知识背景不同,导致需求提出、分析设计、测试、交付各环节容易出现考虑不完整,从而限制了整个研发过程的效率以及质量的提…