创建二进制掩膜 (Image Analyst)

获得 Image Analyst 许可后可用。

摘要

将输入栅格数据集转换为二进制栅格。 像素将标注为掩膜或背景,具体取决于用户定义值。

使用情况

  • 该工具将根据参数值将输入栅格分类为背景或掩膜,并输出二进制掩膜栅格,其中值 1 指示掩膜像素,值 0 指示背景像素。

    注:

    首先将使用阈值函数(例如重映射二进制阈值分区重映射掩膜、数学运算符(<、<、>、>)等)创建输入栅格的初始背景。

  • 将输出二进制掩膜栅格应用于栅格时,与二进制掩膜栅格的背景像素重叠的像素将转换为 NoData。

  • 借助此工具,可以消除较小区域、缩小或扩展区域、填充较小背景区域以及平滑边界。

  • 从图像边界进行洪水填充参数用于指定是否将掩膜边界内的像素分类为背景。

  • 如果要创建保留岛屿上的水域像素作为掩膜值的岛屿掩膜,请使用从图像边界进行洪水填充参数。 该工具将对水域像素执行洪水填充,并在到达陆地像素时结束。 输出掩膜边界将保持不变。

    “从图像边界进行洪水填充”参数结果
    选中(第一个图像)和取消选中(第二个图像)“从图像边界进行洪水填充”参数。

  • 扩展掩膜扩展背景参数值的单位为像素。 值可以为负数,由此导致掩膜和背景缩小。

  • 要移除较小的背景像素组,对于扩展掩膜参数,请使用负值;对于扩展背景参数,请使用正值。

参数

标注说明数据类型
输入栅格

输入栅格数据集。 如果输入为多波段,则将默认使用第一个波段。

Mosaic Layer; Raster Layer; Image Service; String; Raster Dataset; Mosaic Dataset
输出掩膜栅格

输出二进制栅格数据集。 受支持的格式为 TIFF、CRF 和 PNG。

Raster Dataset
背景值
(可选)

输出栅格的背景值。 默认值为 0。

Double
从图像边界进行洪水填充
(可选)

指定将确定背景像素值的方式。

  • 选中 - 背景像素值将由洪水填充操作确定,该操作将填充从图像边界到掩膜边界的连接像素。 无论掩膜的值如何,都不会将其内的像素转换为背景。
  • 未选中 - 背景像素值将由指定的背景值确定。 这是默认设置。

Boolean
扩展背景
(可选)

将用于扩展或缩小背景的像素数量。 负值将会缩小背景。

Long
扩展掩膜
(可选)

将用于扩展或缩小掩膜的像素数量。 负值将会缩小掩膜。

Long
最小掩膜区域大小
(可选)

将用于定义掩膜区域的连接像素的数量。 小于此大小的掩膜区域将被分类为背景。

Long
将背景设置为 NoData
(可选)

指定是否将背景值设置为 NoData。

  • 选中 - 将背景值设置为 NoData。
  • 未选中 - 不会将背景值设置为 NoData。 这是默认设置。

Boolean

CreateBinaryMask(in_raster, out_raster, {background_value}, {flood_fill}, {expand_background}, {expand_mask}, {min_region_size}, {background_nodata})
名称说明数据类型
in_raster

输入栅格数据集。 如果输入为多波段,则将默认使用第一个波段。

Mosaic Layer; Raster Layer; Image Service; String; Raster Dataset; Mosaic Dataset
out_raster

输出二进制栅格数据集。 受支持的格式为 TIFF、CRF 和 PNG。

Raster Dataset
background_value
(可选)

输出栅格的背景值。 默认值为 0。

Double
flood_fill
(可选)

指定将确定背景像素值的方式。

  • FLOOD_FILL背景像素值将由洪水填充操作确定,该操作将填充从图像边界到掩膜边界的连接像素。 无论掩膜的值如何,都不会将其内的像素转换为背景。
  • NO_FLOOD_FILL背景像素值将由指定的背景值确定。 这是默认设置。
Boolean
expand_background
(可选)

将用于扩展或缩小背景的像素数量。 负值将会缩小背景。

Long
expand_mask
(可选)

将用于扩展或缩小掩膜的像素数量。 负值将会缩小掩膜。

Long
min_region_size
(可选)

将用于定义掩膜区域的连接像素的数量。 小于此大小的掩膜区域将被分类为背景。

Long
background_nodata
(可选)

指定是否将背景值设置为 NoData。

  • BACKGROUND_NODATA将背景值设置为 NoData。
  • BACKGROUND_DATA不会将背景值设置为 NoData。 这是默认设置。
Boolean

代码示例

CreateBinaryMask(Python 窗口)

本示例将创建一个二进制栅格,其中填充了掩膜边界内的所有像素。

#Import system modules and check out extension
import arcpy 
from arcpy.ia import *
arcpy.CheckOutExtension("ImageAnalyst") 

#Execute
output = arcpy.ia.CreateBinaryMask(r'C:\data\in_raster.crf”, 0, True, 0, 0, 100, 'BACKGROUND_DATA'') 

#Save output
output.save('c:\data\out_mask.tif')
CreateBinaryMask(独立脚本)

本示例将创建一个二进制栅格,其中填充了掩膜边界内的所有像素。

# Import system modules and check out ArcGIS Image Analyst extension license
import arcpy 
from arcpy.ia import *
arcpy.CheckOutExtension("ImageAnalyst") 

#Set local variables
in_raster = r'C:\data\input_raster.crf'         
background_value=0        
flood_fill=True     
expand_background=0        
expand_mask=0     
min_region_size=100       
background_nodata=False     
   
#Execute
out_raster = arcpy.ia.CreateBinaryMask(in_raster, background_value, flood_fill, 
				expand_background, expand_mask, min_region_size, 
				background_nodata)

#Save the output
out_raster.save(r'C:\Data\FloodMap\WaterMask.crf')

相关主题