地理基本知识系列2:GIS去黑边、白边的方法

在arcgis中,有时候打开一幅影像,会发现影像背景是黑色或白色的,很影响使用,以下介绍几种我常用的方法去掉这些背景:

首先,我们要知道,白色背景像素值为255,黑色背景像素值为0

1、视觉上消除背景,打开该图层的符号系统,设置背景值数值,将其设为“空”,确定即可,该方法仅仅是在视觉上消除了背景,再次打开该影像背景依旧存在。

2、永久去除背景值,在工具箱搜索“复制栅格”工具,将像素值255或0(白或黑)的部分设为忽略背景值、NoData值,确定即可得到新栅格。

tip:如果只是把255或0设为忽略背景值,有时候无法消除干净,因为影像中间部分系统可能不将其判定为背景所以不会做消除,保险的方法就是忽略背景值和NoData同时设置。

3、永久去除背景值,搜索“栅格计算器”工具,使用设为空函数SetNull(),将波段像素值为0或者255(黑或者白)的部分设为空,其余部分保留原像素值(tip:该方法仅适用于单波段影像,若多波段影像使用该方法,得到的结果会变成单波段)

### GIS 图像或地图黑边的技术方案 在地理信息系统 (GIS) 中,处理图像时经常会遇到黑边问题。这些黑边通常是由数据采集过程中的空白区域或者拼接误差引起的。以下是几种常见的解决方法: #### 方法一:通过 ArcGIS 设置背景透明度 ArcGIS 提供了一种简单的方式来隐藏黑边效果。可以通过调整图像的符号系统实现这一目标。 具体操作如下: - 打开图像属性并进入 **符号系统** 页面[^2]。 - 启用 **显示背景** 并将其 RGB 均设为 `0`,这对应于黑色像素。 - 将 NoData 的颜色设置为透明,从而使得原本的黑边不再可见。 这种方法虽然不会物理删除黑边,但在视觉上可以达到理想的效果。 #### 方法二:利用 GDAL 工具裁剪图像边界 GDAL 是一个强大的开源工具集,适用于各种栅格数据的操作。对于黑边的任务,可以采用以下命令完成实际的数据修剪工作: ```bash gdal_translate -of GTiff -projwin ulx uly lrx lry input.tif output.tif ``` 其中 `-projwin` 参数定义了新的范围窗口坐标 `(ulx, uly)` 和 `(lrx, lry)` 来指定保留的有效部分[^1]。此方式能够有效移除多余的边缘区域。 #### 方法三:基于 Python 脚本自动化处理流程 如果需要批量处理大量文件,则编写脚本来自动执行上述逻辑会更加高效。下面给出一段示例代码展示如何使用 NumPy 库配合 PIL(Pillow) 对单张图片进行清理: ```python from PIL import Image import numpy as np def remove_black_borders(image_path): img = Image.open(image_path).convert('RGBA') data = np.array(img) mask = ~(data[:,:,:3]==[0,0,0]).all(axis=2) coords = np.argwhere(mask) y0,x0,y1,x1 = coords.min(axis=0),coords.max(axis=0)+1 cropped_img = img.crop((x0,y0,x1,y1)) return cropped_img new_image = remove_black_borders("input_with_border.png") new_image.save("output_without_border.png", format="PNG") ``` 该函数读取输入图像后转换成数组形式以便分析哪些像素属于纯黑色;接着计算非零元素包围盒的位置参数用于后续切割动作最后保存修改后的成果图件[^1]。 以上三种途径各有优劣,请依据实际情况选取最合适的手段解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值