标注 | 说明 | 数据类型 |
输入栅格 | 输入栅格数据集。 如果输入为多波段,则将默认使用第一个波段。 | Mosaic Layer; Raster Layer; Image Service; String; Raster Dataset; Mosaic Dataset |
输出掩膜栅格 | 输出二进制栅格数据集。 受支持的格式为 TIFF、CRF 和 PNG。 | Raster Dataset |
背景值 (可选) | 输出栅格的背景值。 默认值为 0。 | Double |
从图像边界进行洪水填充 (可选) | 指定将确定背景像素值的方式。
| Boolean |
扩展背景 (可选) | 将用于扩展或缩小背景的像素数量。 负值将会缩小背景。 | Long |
扩展掩膜 (可选) | 将用于扩展或缩小掩膜的像素数量。 负值将会缩小掩膜。 | Long |
最小掩膜区域大小 (可选) | 将用于定义掩膜区域的连接像素的数量。 小于此大小的掩膜区域将被分类为背景。 | Long |
将背景设置为 NoData (可选) | 指定是否将背景值设置为 NoData。
| Boolean |
获得 Image Analyst 许可后可用。
摘要
将输入栅格数据集转换为二进制栅格。 像素将标注为掩膜或背景,具体取决于用户定义值。
使用情况
该工具将根据参数值将输入栅格分类为背景或掩膜,并输出二进制掩膜栅格,其中值 1 指示掩膜像素,值 0 指示背景像素。
将输出二进制掩膜栅格应用于栅格时,与二进制掩膜栅格的背景像素重叠的像素将转换为 NoData。
借助此工具,可以消除较小区域、缩小或扩展区域、填充较小背景区域以及平滑边界。
从图像边界进行洪水填充参数用于指定是否将掩膜边界内的像素分类为背景。
如果要创建保留岛屿上的水域像素作为掩膜值的岛屿掩膜,请使用从图像边界进行洪水填充参数。 该工具将对水域像素执行洪水填充,并在到达陆地像素时结束。 输出掩膜边界将保持不变。
扩展掩膜和扩展背景参数值的单位为像素。 值可以为负数,由此导致掩膜和背景缩小。
要移除较小的背景像素组,对于扩展掩膜参数,请使用负值;对于扩展背景参数,请使用正值。
参数
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 (可选) | 指定将确定背景像素值的方式。
| Boolean |
expand_background (可选) | 将用于扩展或缩小背景的像素数量。 负值将会缩小背景。 | Long |
expand_mask (可选) | 将用于扩展或缩小掩膜的像素数量。 负值将会缩小掩膜。 | Long |
min_region_size (可选) | 将用于定义掩膜区域的连接像素的数量。 小于此大小的掩膜区域将被分类为背景。 | Long |
background_nodata (可选) | 指定是否将背景值设置为 NoData。
| Boolean |
代码示例
本示例将创建一个二进制栅格,其中填充了掩膜边界内的所有像素。
#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')
本示例将创建一个二进制栅格,其中填充了掩膜边界内的所有像素。
# 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')