基元的概念

基元泛指图像中有特点的单元。常说的基元有:边缘、角点、斑点、直线段、圆、等
基元检测是图像分析的基础

边缘(Edge)检测

边缘是图像中像素灰度值发生剧烈变化而不连续的结果
边缘是赋予单个像素的一种性质,与图像函数在该像素的一个邻域内的梯度特性相关
边缘幅值:梯度的幅值
边缘方向:梯度方向旋转-90度
边缘检测既是常见基元检测的基础,也是基于边界的图像分割的第一步。

边缘检测算法

【OpenCV】边缘检测:Sobel、拉普拉斯算子
【OpenCV】边缘检测:坎尼算子算子

斑点(Blob)检测

斑点:与周围灰度有一定差别的区域

  • 面部的雀斑
  • 卫星照片中的一棵数
  • 钢材X光照片中的杂质或气泡
  • 医学图像中的细微肿块

斑点检测算法

【OpenCV】LoG算子:SIFT算法
【OpenCV】Blob特征检测算子

角点(Conner)检测

角点:物体的拐角、交叉点、 曲线上曲率最大的点等
角点的邻域是图像中信息比较丰富的区域

角点检测方法

  • 基于边缘的方法:在小邻域内有两个不同的主边缘方向,实际图像中,孤立点、线段端点也会有类似特性。缺点是:1)需要先提取边缘并编码,计算量大;2)局部变化对稳定性影响大。
  • 基于灰度的方法:计算点的曲率和梯度,目前的主流

角点检测算法:

【OpenCV】角点检测:Harris算子

哈夫变换-几何形状检测

基本哈夫变换:直线检测

点–线对偶性:直线所在的图像空间(记为XY)和参数空间PQ(p斜率,q截距)之间的一一映射
XY空间中的直线检测就等同于PQ空间的点检测

基本哈夫变换:曲线检测

对于任意能够用f(x,c)=0(其中x是图像点坐标矢量,c是参数矢量)表示曲线或目标轮廓,均可用类似的方法检测,只是计算复杂度随着c维数的增加而增加,需要考虑降维

广义哈夫变换:目标检测

问题:待检目标不是参数化曲线(如正方形),而只是一组轮廓点,希望自动检测目标的存在及其中心参考点(p,q)
广义哈夫变换能够检测到特定目标的位置(即参考点(p,q) ),或者说任意位置的待检目标都是可以发现的,满足平移不变性

多尺度检测

万物都有其合适的尺度

  • 原子和基本粒子:普朗克常数
  • 集成电路:微米、纳米
  • 人、车、树、建筑:米-厘米-毫米
  • 地理:千米
  • 太空:光年

多分辨率 与 尺度空间

多分辨率( 图像金字塔):(低通滤波)再下采样,多级进行形成金字塔;可能出现假结构.
尺度空间(Wikin’83):用一列单参数、宽度递增的高斯滤波器将原始信号滤波而得到的一组低频信号;高斯核是实现尺度变换的唯一变换核,具有多种优良性质,不会引入假信号

【OpenCV】尺度空间与图像金字塔

源码及程序下载:http://download.csdn.net/detail/xiaowei_cqu/5155661

基元检测 Primitive Detection相关推荐

  1. [CLR via C#]5.1 基元类型

    原文:[CLR via C#]5.1 基元类型 某些数据类在开发中非常常用,以至于许多编译器允许代码已简化的语法来操作它们.例如可以使用以下语法来分配一个整数: System.Int32 a = ne ...

  2. CLR via C#-基元类型、引用类型和值类型

    理解不同的类型之间的区别,可以提高编码效率. 基元类型(primitive type) 编辑器直接支持的数据成为基元类型 int => System.Int32 sbyte.byte.short ...

  3. .net 基元类型,引用类型和值类型

    基元类型(primitive type): 编译器直接支持的数据类型称为基元类型(primitive type). string 与 String: 由于C#中的string (一个关键字)直接映射到 ...

  4. 读书笔记_CLR.via.c#第五章_基元类型_引用类型_值类型

    基元类型 1.不管在什么操作系统上c#的int始终代表32位整数. 2.c#中long代表64位. 类型转换 安全转换时,才允许隐式转型. 不安全转换时,为显式转型. 溢出检测方法 控制溢出的一个办法 ...

  5. CNN结构基元:纹理结构和纹理基元方程化GLOH、Gabor...(Code)

    模式识别专注于寻找相同模式的共性和不同模式的分离.CNN把特征提取全局化,其中重要的一个是纹理特征,利用卷积核来表示纹理基元,用以重现模式,应如何显示表示. 第一次使用纹理特征,2012年,使用了灰度 ...

  6. 纹理和基元_Java的精妙之处,包括基元和变量参数数组

    纹理和基元 在我最近的博客文章Arrays.hashCode()与 DZone联合版本的评论中提出了一个有趣的问题. Objects.hash() ". 该评论的作者建立了一些示例,这些示例 ...

  7. 【转】1.4异步编程:轻量级线程同步基元对象

    开始<异步编程:同步基元对象(下)> 示例:异步编程:轻量级线程同步基元对象.rar 在<异步编程:线程同步基元对象>中我介绍了.NET4.0之前为我们提供的各种同步基元(包括 ...

  8. 【转】1.3异步编程:线程同步基元对象

    开始<异步编程:同步基元对象(上)> 示例:异步编程:线程同步基元对象.rar 如今的应用程序越来越复杂,我们常常需要多线程技术来提高我们应用程序的响应速度.每个线程都由自己的线程ID,当 ...

  9. 第五章 基元类型,引用类型和值类型

    目录 5.1 编程语言的基元类型 5.2 引用类型和值类型 5.3 值类型的装箱和拆箱 5.4 对象哈希码 5.5 dynamic基元类型 5.1 编程语言的基元类型 编译器直接支持的数据类型称为基元 ...

最新文章

  1. 【正一专栏】今夜有一种奇迹叫巴萨
  2. c++构建工具之shell,configure,make,cmake,scons,xmake简析总结
  3. 学计算机怎样才能考上大学,中国式家长考清华北大方法 重点大学怎么才能考上...
  4. ServeJson undefined (type *MainController has no field or method ServeJson
  5. 让别人和自己看懂自己的程序代码?一文掌握Java单行多行、文档注释以及注解(Annotation)超详细的理解使用,IDEA注释注解快捷键和模板,提高程序代码更有可读性
  6. Ubuntu下挂载NTFS分区错误修复
  7. Django-分页、中间件和请求的声明周期
  8. jqueryui时间插件_jQueryUI菜单插件教程示例
  9. C#多态 (小结转载)
  10. performSelector:withObject:afterDelay: 的用法
  11. android实现填空模式
  12. word 左侧显示目录
  13. 基于STM32单片机设计的红外测温仪(带人脸检测)
  14. GUTI,Globally Unique Temporary UE Identity,全球唯一临时UE标识。
  15. 交叉编译Qt5.5.1----本人亲自测试基本可行!!!
  16. 【数学知识】方差、标准差、均方差、均方误差区别总结
  17. 《Test-Driven Development for Embedded C》读书笔记(三)
  18. 网页中标签对搜索引擎的影响
  19. 一个老工程师的工作经历和思考
  20. 封装Vue组件的原则及技巧

热门文章

  1. kaggle比赛模型融合指南
  2. Python实现基于朴素贝叶斯的垃圾邮件分类 标签: python朴素贝叶斯垃圾邮件分类 2016-04-20 15:09 2750人阅读 评论(1) 收藏 举报 分类: 机器学习(19) 听说
  3. 微软创立全新人工智能实验室,与DeepMind、OpenAI同台竞技
  4. c语言函数之间互相调用符号,如何实现C和C++函数互相调用
  5. 实战SSM_O2O商铺_34【商品】商品编辑之Controller层的实现
  6. Spring Cloud Eureka 自我保护机制
  7. music算法原理_大话FMCW雷达之区域检测原理
  8. h5页面提示只能在微信浏览器中打开_电子问卷h5怎么做?
  9. SpringMVC学习06之SSM整合(一)
  10. 中的 隐藏鼠标菜单_如何在鼠标右键菜单中添加自定义菜单?工效率提升一倍...