《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

本文主要是介绍《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 定义

        从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。

        从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。

2 认识

        有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。

        有些特征需要通过变换或测量才能得到的构造特征,如直方图、变换频谱。

3 分类

        常用的图像特征包括:颜色特征、纹理特征、形状特征、区域特征。

 3.1 自然特征  

  3.1.1 颜色特征

        定义:颜色特征是一种全局统计特征,描述了图像或图像区域中成像事物的表面性质。

        举例:灰度特征、直方图特征

        应用:图像检索

        局限:丢失了空间特征

        表示方法:平均值(最值、中值)、方差(矩)、能量、熵、直方图等,均基于统计算子。

  3.1.2 纹理特征

        定义:纹理特征是一种区域特征、描述图像区域成像事物的表面性质,包括天然纹理、人为纹理。

        举例:指纹、花纹、粗糙度

        表示方法:      

         (1)灰度共生矩阵纹理特征:由灰度共生矩阵得到能量、惯性、熵和相关函数、提取纹理特征。(统计法)

         (2)图像自相关函数纹理特征,度量纹理的粗糙度。(统计法)

         (3)马尔可夫纹理特征。(模型法)

         (5)几何法:纹理基元理论认为,复杂的纹理可以由若干简单的纹理基础元以一定的有规律的形式重复排列构成。

         (6)频谱法:图像的傅里叶频谱能够很好地描述图像中周期或近似周期的空间特性,周期的纹理特性 特征在频谱中较好的获得。此外还有小波变换、Gabor变换等提取纹理特征。

  3.1.3 几何特征

       举例:

  3.1.4 区域特征

       举例:面积、颜色、重心(质心)

       表示方法:

       (1)简单的区域描述:区域面积、区域重心、区域颜色

       (2)拓扑描述:空洞数量H、连接部分数C、欧拉数(E = H - C)

         (3)  形状描述:矩形度(R = 物体面积/最小外接矩形面积,物体为圆,R = pi/4;细长的,弯曲的物体R取值变小,R反应物体弯曲细长程度)、圆形度(F = 周长平方/4*pi*面积, 刻画边界的紧凑性或复杂度,当区域为圆时,F=1;当区域为其他形状时,F > 1)、偏心度、矩等

 3.2 构造特征

     3.2.1 点特征

      举例:

     3.2.2 局部特征

      举例:

     3.3.3 全局特征

      举例:                    

4 特征应用 

     模式识别 

5 通俗解释

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

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

        答案就是:我们要寻找一些唯一的特征,这些特征要适于被跟踪,容易被比较。如果我们要定义这样一种特征,虽然我们知道它是什么但很难用语言来描述。如果让你找出一个可以在不同图片之间相互比较的好的特征,你肯定能搞定。这就是为什么小孩子也会玩拼图的原因。我们在一副图像中搜索这样的特征,我们能找到它们,而且也能在其他图像中找到这些特征,然后再把它们拼接到一块。(在拼图游戏中,我们更注重的是图片之间的连续性)。我们的这些能力都是天生的。

        所以我们的一个问题现在扩展成了几个,但是更加确切了。这些特征是什么呢?(我们的答案必须也能被计算机理解)。

        好吧,很难说人是怎样找出这些特征的。这些能力已经刻在我们的大脑中了。但是如果我们深入的观察一些图像并搜索不同的pattern,我们会发现一些有趣的事。一下图为例:

        图像很简单。在图像的上方给出了六个小图。你要做的就是找到这些小图在原始图像中的位置。你能找到多少正确结果呢?
        A 和B 是平面,而且它们的图像中很多地方都存在。很难找到这些小图的准确位置。

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

        如上图所示,蓝色框中的区域是一个平面很难被找到和跟踪。无论你向那个方向移动蓝色框,长的都一样。对于黑色框中的区域,它是一个边缘。如果你沿垂直方向移动,它会改变。但是如果沿水平方向移动就不会改变。而红色框中的角点,无论你向那个方向移动,得到的结果都不同,这说明它是唯一的。所以,基本上来说角点是一个好的图像特征。(不仅仅是角点,有些情况斑点也是好的图像特征)。

        现在我们终于回答了前面的问题了,“这些特征是什么?”。但是下一个问题又来了。我们怎样找到它们?或者说我们怎样找到角点?我们也已经用一种直观的方式做了回答,比如在图像中找一些区域,无论你想那个方向移动这些区域变化都很大。在下一节中我们会用计算机语言来实现这个想法。所以找到图像特征的技术被称为特征检测

        现在我们找到了图像特征(假设你已经搞定)。在找到这些之后,你应该在其他图像中也找到同样的特征。我们应该怎么做呢?我们选择特征周围的一个区域,然后用我们自己的语言来描述它,比如“上边是蓝天,下边是建筑,在建筑上有很多玻璃等”,你就可以在其他图片中搜索相同的区域了。基本上看来,你是在描述特征。同样,计算机也要对特征周围的区域进行描述,这样它才能在其他图像中找到相同的特征。我们把这种描述称为特征描述。当你有了特征很它们的描述后,你就可以在所有的图像中找这个相同的特征了,找到之后你就可以做任何你想做的了。

这篇关于《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1148012

相关文章

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

Java 多线程概述

多线程技术概述   1.线程与进程 进程:内存中运行的应用程序,每个进程都拥有一个独立的内存空间。线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换、并发执行,一个进程最少有一个线程,线程实际数是在进程基础之上的进一步划分,一个进程启动之后,进程之中的若干执行路径又可以划分成若干个线程 2.线程的调度 分时调度:所有线程轮流使用CPU的使用权,平均分配时间抢占式调度

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

java集合的概述

集合就是一个容器,我们可以把多个对象放入的容器中。就像水杯(假设容量可以不断扩大)一样,你可以往水杯中不断地添加水,既然是水杯,你就不能往里添加沙子,也就是说集合中添加的对象必须是同一个类型的(引用类型,而不能是基本类型)。 看到集合的介绍会让我们的想起数组,那么集合和数组有什么区别呢? 首先,数组的大小是固定的,而集合理论上大小是不限的。 其次,数组既可以存储基本数据类型的数据,也可以存储

【CSS in Depth 2 精译_023】第四章概述 + 4.1 Flexbox 布局的基本原理

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已