腐蚀和膨胀

腐蚀和膨胀是二值图像形态学操作的最基础的方法,我们将在这里对其进行基础的介绍。
1.腐蚀
首先说腐蚀,腐蚀是缩小图像,去除小沟壑细节的一种操作,腐蚀的概念很好理解,但是公式看起来却很麻烦,我这里主要说概念。
腐蚀操作需要两个元素,一个待处理对象A,一个element B,B对A的腐蚀得到的结果是由A中能够包含整个B的像素点所组成的,如下图所示:
在这里插入图片描述
其中比较关键的是B的锚点,就是B的锚点在A中扫描时,A能将B完全包住的B的锚点所扫描的像素点。

腐蚀的作用:去除图像中不想要的小细节,比如一张二值图片中的噪点或者小细节。
符号:⊖\ominus

2.膨胀
膨胀的需要与腐蚀完全相同只是他们的作用相反,element B膨胀图形A的结果是,A和B的并集产生的,如下:

在这里插入图片描述
B的锚点在A的边界进行扫描,A与B的并集就是B对A进行膨胀的结果。

作用:膨胀的结果就是放大细节,放大的程度,取决于element B的大小。

符号:⊕\oplus

3.腐蚀和膨胀的性质:
对偶性:
(A⊖B)c=Ac⊕B^(A⊕B)c=Ac⊖B^(A\ominus B)^c=A^c\oplus \hat{B} \\ (A\oplus B)^c=A^c\ominus \hat{B}(AB)c=AcB^(AB)c=AcB^
其中AcA^cAc代表图像A的补,二值图里即求反。

### ArcGIS 中图像处理的腐蚀膨胀操作 在 ArcGIS 中,腐蚀(Erosion)膨胀(Dilation)作为数学形态学的基本工具被广泛应用。这两种技术主要用于修改分析二值图像,在地理信息系统(GIS)中对于栅格数据分析尤为重要[^1]。 #### 腐蚀操作 腐蚀操作会移除对象边界上的像素,这有助于消除小型突起或噪声点。具体来说,当应用腐蚀算法时,如果结构元素完全匹配目标区域内的前景像素,则该位置保持不变;否则将变为背景颜色。此过程使得物体形状变得平滑并减少其尺寸。 ```python import arcpy from arcpy import sa as Spatial Analyst # 设置工作空间环境 arcpy.env.workspace = "C:/data" # 定义输入栅格文件路径 input_raster = "binary_image.tif" # 执行腐蚀操作 eroded_output = SpatialAnalyst.EucDistance(input_raster, cell_size=30) # 保存输出结果到指定位置 output_erode_path = "eroded_result.tif" eroded_output.save(output_erode_path) ``` #### 膨胀操作 相反地,膨胀能够增加对象面积,填补内部孔洞以及连接相邻但不连续的部分。它通过扩展每个白色(或特定级别以上)像素周围的邻域来实现这一点,只要有一个符合条件就会改变整个领域内所有像素的状态为相同属性。 ```python import arcpy from arcpy import sa as Spatial Analyst # 继续使用之前定义的工作区设置... # 应用膨胀函数 dilated_output = SpatialAnalyst.Expand(input_raster, expand_distance="1 Cell") # 将膨胀后的图像存储下来 output_dilate_path = "dilated_result.tif" dilated_output.save(output_dilate_path) ``` 上述代码片段展示了如何利用 Python ArcPy 模块执行简单的腐蚀膨胀变换。需要注意的是实际应用场景可能更加复杂,因此建议深入研究官方文档获取更多细节信息[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值