二值图像处理 - Binary Image Processing

  • 总览
  • 二值形态学操作 (Binary Morphology)
    • 基础操作
    • 腐蚀 (Erosion)
    • 膨胀 (Dilation)
    • 边界提取 (Boundary Extraction)
    • 开操作 (Opening)
    • 闭操作 (Closing)
  • 连通分量分析 (Connected Component Analysis)
    • 邻点(Neighbor)
    • 连通分量标记(Connected Component Labelling - CCL)
      • 算法

总览

在应用阈值运算之后,图象只有两个量化级别(quantisation levels):
0 - 低于阈值。
1 - 高于阈值。
如果二值图像需要被进一步处理,则线性滤波器(LPF, HPF等)的应用效率并不高。二值图像的处理需要其他方法。

二值形态学操作 (Binary Morphology)

二值图像处理基于形态学,而形态学又基于集合论(set theory)。二值图像表示为一组有序坐标对(ordered coordinate pairs)。

基础操作

有一系列基础操作:

  • Ac: 图像A的补码 complement (反转 inversion)。
  • A ∪ B: 图像A和图像B的并集 (union)。
  • A ∩ B: 图像A和图像B的交集 (intersection)。
  • A - B = A ∩ B c: 图像A 和 图像B 的差集 (difference)。

如果图像B对应于形态过滤器内核(morphological filter kernel),则基本操作可用于定义二值图像处理算法。

腐蚀 (Erosion)

设B为 3 x 3 的全是1的滤波器。

当滤波器访问的9个像素都为1时,则输出像素为1。(pixel-based AND)

膨胀 (Dilation)

当滤波器访问的9个像素中至少其中一个是1,则输出像素为1。(pixel-based OR)

边界提取 (Boundary Extraction)

边界 = 原图像 - 腐蚀一圈的图像

当具有少量简单对象的图像可以被轻松二值化时,此方法比其他边缘检测方法更加计算高效。

开操作 (Opening)

先腐蚀,后膨胀

开操作可用于消除 在单独对象之间 由于噪声产生的错误连接。

原图片 - 开操作之后的图片:能够展示从原始图像中被删除的内容。结果可以用于制造过程中的自动检查。(检查PCB走线等)

闭操作 (Closing)

先膨胀,再腐蚀

闭操作能够用于消除对象内部的单独噪声样本或者细线。
原图片 - 闭操作之后的图片:能够展示从原始图像中被删除的内容。结果可以用于制造过程中的自动检查。(小裂缝,划痕之类的)

连通分量分析 (Connected Component Analysis)

邻点(Neighbor)


输入量 (input): 像素值代表类别标签(class labels)或者强度值(intensity)的图像。
连接组件 (connected component): 连接的组件由具有相同类别标签的连接像素组成。且每一个连接的组件通常被视为对象 (object)。
连通分量分析: 分别标记单独的“对象”。

连通分量标记(Connected Component Labelling - CCL)

如果可以找到一条路径,图像中的两个点"连接"在一起。对于该路径,图像标记的值在整个路径上都相同。

算法

输入: 一个二值图片(前景 foreground/背景 background像素),在图中的所有像素点都是未标记的 (unlabelled)。
输出: 被标记成组件的所有前景像素。
过程:
方法1:Sequential

  1. 选择图像中任何未标记的像素并为其分配标签。
  2. 将相同的标签分配给具有相同图像功能值的任何相邻像素。
  3. 继续标记邻居,直到没有其他邻居可以分配该标签。
  4. 选择另一个标签和另一个尚未标记的像素,之后继续。
  5. 如果没有更多未标记的像素点,则算法结束。

方法2:Recursive

  1. 扫描图像以找到未标记的前景像素,并为其分配新的标签L。
  2. 将标签L递归地分配给其所有相同单位值的邻点 。
  3. 如果没有其他未标记像素,则停止。
  4. 返回步骤1。


四连通结果(4-connectivity)

八连通结果(8-connectivity)

  • 连通组件分析通常遵循基于聚类的分割(cluster-based segmentation)来提取对象。
  • 四连通和八连通的选择:
    1. 可能导致不同的数量的物体或者具有不同形状的物体。
    2. 取决于你的应用。
  • 可以在连通组件分析之后应用大小过滤(size filtering)。

计算机视觉理论笔记 (6) - 二值图像处理 (Binary Image Processing)相关推荐

  1. 计算机视觉理论笔记 (3) - 图像采集 (Image Acquisition)

    计算机视觉笔记 - 图像采集 Introduction 镜头 (lens) 图像传感器 (Image Sensor) 彩色图像 单传感器数码相机 颜色插值 (Color Interpolation) ...

  2. 计算机视觉理论笔记 (5) - 边缘检测 (Edge Detection)

    边缘检测 - Edge Detection 总览 边缘(edges) 基于梯度 (gradient)的边缘检测 检测不连续性(detection of discontinuities) 1D 2D 梯 ...

  3. 计算机组成原理笔记——存储器分类、层次结构、技术指标、存储单元地址分配

    计算机组成原理笔记--存储器分类.层次结构.技术指标.存储单元地址分配 一. 概述 存储器的分类 按存储介质划分: (1)半导体存储器 双极型(TTL).MOS (2)磁表面存储器 磁头.载磁体 (3 ...

  4. 计算机组成原理笔记(王道考研) 第七章:输入输出系统

    内容基于中国大学MOOC的2023考研计算机组成原理课程所做的笔记. 感谢LY,他帮我做了一部分笔记.由于听的时间不一样,第四章前的内容看起来可能稍显啰嗦,后面会记得简略一些. 西电的计算机组织与体系 ...

  5. 计算机组成原理笔记(王道考研) 第二章:数据的表示和运算1

    内容基于中国大学MOOC的2023考研计算机组成原理课程所做的笔记. 感谢LY,他帮我做了一部分笔记.由于听的时间不一样,第四章前的内容看起来可能稍显啰嗦,后面会记得简略一些. 西电的计算机组织与体系 ...

  6. 计算机组成原理笔记(王道考研) 第二章:数据的表示和运算2

    内容基于中国大学MOOC的2023考研计算机组成原理课程所做的笔记. 感谢LY,他帮我做了一部分笔记.由于听的时间不一样,第四章前的内容看起来可能稍显啰嗦,后面会记得简略一些. 西电的计算机组织与体系 ...

  7. 计算机组成原理笔记(王道考研) 第六章:总线

    内容基于中国大学MOOC的2023考研计算机组成原理课程所做的笔记. 感谢LY,他帮我做了一部分笔记.由于听的时间不一样,第四章前的内容看起来可能稍显啰嗦,后面会记得简略一些. 西电的计算机组织与体系 ...

  8. 【计算机组成原理】计算机系统结构笔记:合集

    200803本篇是郑纬民<计算机系统结构>的读书笔记,欢迎各位路过指正!今天把九章全部更新完毕啦. 0. 分章节目录 [计算机组成原理]计算机系统结构笔记(1):基本概念 [计算机组成原理 ...

  9. 老农的计算机学习笔记(一)计算机的诞生及其基础

    菜鸟的计算机学习笔记  ===================  2014-06-08    "万法归一" 改变世界的发明 计算工具的早期发展 计算机来源于人类对于计算工具的不断改 ...

最新文章

  1. linux内核层功能 和核心,Linux内核研发工程师
  2. 用自定义代码分析来标准开发人员的开发规范
  3. php integer
  4. html5之form表单
  5. boost::mp11::mp_transform_front相关用法的测试程序
  6. 技术的想象力:云栖大会第一天发布了什么?
  7. 当鼠标滑过文本框自动选中输入框内容JS代码
  8. arm linux读cpu id,基于ARM架构的芯片获取CPU信息(cpuID)的多种方法
  9. matlab数组存字符串,MATLAB字符串数组存储为CSV格式
  10. nlog轻量级日志组件
  11. 把本地文件上传到gitee
  12. php中id如何与删除关联,ThinkPHP查询语句与关联查询用法实例
  13. 【BZOJ28431180】极地旅行社,LCT练习
  14. C# WPD PortableDeviceApiLib获取便携设备列表
  15. python层次聚类_python中做层次聚类,使用scipy.cluster.hierarchy.fclusterdata方法 | 学步园...
  16. 「手把手带你学算法」本周小结!(动态规划系列七)
  17. MVC学习笔记:MVC实现用户登录验证ActionFilterAttribute用法并实现统一授权
  18. 解决gaim+msn的ssl库及不能发出提示音问题的指南(转)
  19. 基于基因组数据的癌症亚型发现聚类研究
  20. Matlab工具箱实现张正友相机标定

热门文章

  1. nprogress 进度条插件使用
  2. 【uni-app】base64转图片
  3. Encoding::UndefinedConversionError: \xE5 from ASCII-8BIT to UTF-8
  4. vue移动端表格,超出横向滚动,固定第一列
  5. Unity UGUI polygon collider
  6. D. Fragmentation merging
  7. C#操作word合并单元格
  8. 使用PDFBOX提取PDF中的文字
  9. 异步读写(ReadFileEx和ReadFile)之overlapped
  10. 深度学习图像标注软件labelme使用教程