热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

图像形态学处理(2)

接上篇图像形态学处理(1)5)细化、粗化基本思路是:使用能反映边界的模式击中图像,然后从原图中减去,从而达到细化的目的;粗化就与原图取或。使用模式B细化A:使用模式B粗化A:一般对模式B做45度旋转形

接上篇图像形态学处理(1)

5)细化、粗化

基本思路是:使用能反映边界的模式击中图像,然后从原图中减去,从而达到细化的目的;粗化就与原图取或。

使用模式B细化A

使用模式B粗化A

一般对模式B做45度旋转形成一组模式:,图1-6使用该组模式对左图做细化


图1-6. 细化


6)骨架

骨架能反映一个前景的结构,考虑集合A(图1-7左),用一个能刚好被包含的最大盘遍历,其中心轨迹就是A的骨架(图1-7右)


图1-7. 骨架(《数字图像处理》)

骨架提取由腐蚀和开操作组成:

,其中,kB表示连续对A做k次腐蚀,K值取A被B腐蚀为空集所需次数-1


图1-8. 骨架抽取


7)裁剪

裁剪是对细化和骨架算法的补充,这两种方法都会产生寄生分量(毛刺),需要使用裁剪去掉

裁剪算法步骤

1. 使用一系列检测端点的模式B对A做细化(这里重复做3次),得到细化结果X1:

其中{B}一般取

2. 细化结果X1可能会丢失一些必要的端点,需要做一些补偿

首先用{B}分别对X1做击中,结果取或:

然后以A为限定,对X2做条件膨胀:,这里H取3*3

3. 取X1和X3的并集就是最终结果



图1-9. 裁剪


1.3 形态学重建

形态学重建涉及两幅图像F、G和一个结构元B;F是标记图像,决定变换的起始,G是模板图像,约束变换。

形态学重建算法一般凭借约束和标记,迭代的对图像处理,直到收敛,达到处理自动化的目的(上文孔洞填充)

1)测地膨胀、测地腐蚀

标记图像F关于模板图像G的大小为n的测地膨胀:

,其中,由于G的约束,迭代最终会趋于收敛,此时令为测地膨胀的结果。

类似的,标记图像F关于模板G的测地腐蚀为:

,其中,最终取


2)重建开操作

形态学开操作首先删除小物体,再通过膨胀试图恢复遗留前景

重建开操作由于有了G的约束,解决了传统开操作高度依赖准确结构元才能正确恢复形状的缺点

重建开操作的作用是:准确提取图像中与结构元(腐蚀时的,膨胀时用一般的就可以了)相似的模式

使用结构元B对F做大小为n的重建开操作:


图1-10. 重建开操作(中间为一般开操作,作为对比)(结构元取51*1)


3)边界清除

过程与孔洞填充(在上文已有介绍)类似,以原图I为模板,根据I生成标记图像F

,然后计算测地膨胀,最后计算差,得到没有边界接触的结果


下篇图像形态学处理(3)


推荐阅读
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 题目描述:给定n个半开区间[a, b),要求使用两个互不重叠的记录器,求最多可以记录多少个区间。解决方案采用贪心算法,通过排序和遍历实现最优解。 ... [详细]
  • 本文探讨了卷积神经网络(CNN)中感受野的概念及其与锚框(anchor box)的关系。感受野定义了特征图上每个像素点对应的输入图像区域大小,而锚框则是在每个像素中心生成的多个不同尺寸和宽高比的边界框。两者在目标检测任务中起到关键作用。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 深度学习理论解析与理解
    梯度方向指示函数值增加的方向,由各轴方向的偏导数综合而成,其模长表示函数值变化的速率。本文详细探讨了导数、偏导数、梯度等概念,并结合Softmax函数、卷积神经网络(CNN)中的卷积计算、权值共享及池化操作进行了深入分析。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 深入浅出:Google工程师的算法学习指南
    通过Google工程师的专业视角,带你系统掌握算法的核心概念与实践技巧。 ... [详细]
  • 本文深入探讨了 Python 列表切片的基本概念和实际应用,通过具体示例展示了不同切片方式的使用方法及其背后的逻辑。 ... [详细]
  • 本文详细介绍了K-Medoids聚类算法,这是一种基于划分的聚类方法,适用于处理大规模数据集。文章探讨了其优点、缺点以及具体实现步骤,并通过实例进行说明。 ... [详细]
  • 本文探讨如何利用人工智能算法自动区分网页是详情页还是列表页,介绍具体的实现思路和技术细节。 ... [详细]
  • 本文探讨了 C++ 中普通数组和标准库类型 vector 的初始化方法。普通数组具有固定长度,而 vector 是一种可扩展的容器,允许动态调整大小。文章详细介绍了不同初始化方式及其应用场景,并提供了代码示例以加深理解。 ... [详细]
author-avatar
严志文在吉安_3fu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有