遥感图像语义分割——影像拼接和去除背景

文章目录

  • 遥感图像语义分割——影像拼接和去除背景
    • 1.影像拼接
    • 2.去除背景

之前的两篇文章收到不少朋友的私信,前面文章写的是使用模型训练前的工作,这篇文章介绍一下分割后处理的工作。


1.影像拼接

​ 影像拼接指的是当我们需要生成一个产品,如何将一张张的识别结果拼接(如果有需要的话可能还涉及遥感图像的拼接)。这里介绍在python中如何完成影像拼接的工作。直接上代码:

# 实现图像的拼接
# 两步走
# 1 先拼成一列一列的
# 2 再把拼好的列左右拼接起来
from PIL import Image
import os
import numpy as np
import random# 输入图像的路径
path = r'E:/tif/test'
filenames = os.listdir(path)
three = []
four=[]
print(three)
print(four)
print("目录:",path)
print("图像的总个数:",len(filenames))
print('开始执行:')# 定义计数的
i = 0
# 定义空字符串存储数组
list_a = []
# 转换为numpy数组
# 1 下面的for循环用于将图像合成列,只有一个参数,就是num_yx,每列有几行图像
#循环行
for m in range(61):#循环列for n in range(64):# 定义每列有几张图像num_yx = 64# i用于计数i +=1print("第%d张"%i)# t用于换行t = (i-1)//num_yx# 获取imgim = Image.open(path + '/'+ '04_'+str(m)+'_'+str(n)+'.png').convert('RGB')# 转换为numpy数组im_array = np.array(im)# 如果取的图像输入下一列的第一个,因为每列是3张图像,所以1,4,7等就是每列的第一张if (i-1) % num_yx == 0:# list_a[t] = im_arraylist_a.append(im_array)# 否则不是第一个数,就拼接到图像的下面else:list_a[t] = np.concatenate((list_a[t], im_array), axis=1)# 2 合成列以后需要将列都拼接起来
for j in range(len(list_a)-1):list_a[0] = np.concatenate((list_a[0], list_a[j+1]),axis=0)im_save = Image.fromarray(np.uint8(list_a[0]))
im_save.save("x.png")
print("执行完毕")

2.去除背景

​ 当我们将所有的识别结果(分割结果)拼接起来后,以二分类为例,如果只想保留关注的区域。例如:做了水体的分割,最后想看一下遥感影像上哪些地方有水体,需要将背景去除。这里我提供了一种python去除背景的方法,当然你也可以导入到arcgis中使用关于栅格的操作,将背景区域的值的颜色设置为无颜色。

from PIL import Image
Image.MAX_IMAGE_PIXELS = None
import numpy as np
img2 = Image.open(r'E:\tif\test.png')
img2 = img2.convert('RGBA')
pixdata = img2.load()
for y in range(img2.size[1]):for x in range(img2.size[0]):if pixdata[x,y][0]==0 and pixdata[x,y][1]==0 and pixdata[x,y][2]<256:pixdata[x, y] = (0, 0, 0,0)
img2 = img2.convert('RGBA')
img2.save('x.png')

​ 上面的代码中,RGBA是关键的。必须要使用PIL将图像的格式转换为RGBA的格式。


到此为止,一些后处理工作大概步骤以及相关的python代码已经展示完毕。希望对大家有帮助

遥感影像语义分割——影像拼接、去背景相关推荐

  1. 基于深度学习的遥感影像语义分割数据预处理

    基于深度学习的遥感影像语义分割数据预处理 第一次处理数据,不熟练,仅供参考 数据预处理工具:Arcgis 第一步:下载遥感影像tif数据 根据实际需求选择感兴趣的遥感影像区域 数据来源:Google卫 ...

  2. 【论文阅读】结合空洞卷积的 FuseNet变体网络高分辨率遥感影像语义分割

    [论文阅读]结合空洞卷积的 FuseNet变体网络高分辨率遥感影像语义分割 一.论文总体框架   首先,采用 FuseNet变体网络将数字地表模型(digital surface model,DSM) ...

  3. 深度学习高遥感影像语义分割

    深度学习遥感影像语义分割 深度学习大家都知道,在计算机视觉领域取得了很大的成功,在遥感影像自动解译方面,同样带来了快速的发展,我在遥感影像自动解译领域,也做了一些微薄的工作,发表几篇论文,我一直关注遥 ...

  4. 深度学习高分辨率遥感影像语义分割

    深度学习大家都知道,在计算机视觉领域取得了很大的成功,在遥感影像自动解译方面,同样带来了快速的发展,我在遥感影像自动解译领域,也做了一些微薄的工作,发表几篇论文,我一直关注遥感影像自动解译领域, 在北 ...

  5. 遥感识别1——遥感影像语义分割参考文献

    语义分割与变化检测 1 背景综述 2 数据集制作 2.1 公开数据集 2.2 数据集制作 3 样本增强 4 模型构建 5 模型训练 6 模型预测 7 变化检测 8 结果后处理 9 工程案例 参考文献: ...

  6. 遥感影像语义分割数据集

    遥感图像语义分割数据集 文章目录 遥感图像语义分割数据集 1.建筑 1.1 Aerial Image Segmentation Dataset 1.2 INRIA aerial image datas ...

  7. 上下文聚合网络用于遥感影像语义分割

    Context Aggregation Network for Semantic Labeling in Aerial Images 摘要: 高分辨率航拍图像的语义标注是遥感图像分析的基本和必要任务. ...

  8. 遥感图像语义分割——从原始图像开始制作自己的数据集(以高分二号为例)

    遥感图像语义分割--从原始图像开始制作自己的数据集(以高分二号为例) 文章目录 遥感图像语义分割--从原始图像开始制作自己的数据集(以高分二号为例) 1.遥感影像获取 2.遥感数据预处理(影像融合) ...

  9. 遥感图像语义分割各公开数据集

    遥感图像语义分割数据集 1. Gaofen Image Dataset(GID) 2. ISPRS Test Project on Urban Classification and 3D Buildi ...

最新文章

  1. matlab 信号的原子产生,MATLAB随机产生原子结构代码
  2. 《Raspberry Pi用户指南》——2.4 使用外部存储设备
  3. 深入理解领域驱动设计中的聚合
  4. 借助Redis完成延时任务
  5. 图片自动翻转css代码,用css实现图片翻转(示例代码)
  6. 同样是面试简历,为何你如此风骚!
  7. 雨尘SEO静态页面生成系统版本源码3秒钟可生成上千条单页面SEO必备神器
  8. Pytorch 之autograd
  9. Ubuntu解决sudo source command not found错误
  10. 作为“梅西式”程序员,我要跳槽了
  11. 学python能做什么-非计算机专业的人学python能做什么?
  12. Q-learning学习笔记
  13. Android中的GraphicBuffer同步机制-Fence
  14. 多文档文本编辑器(Qt)
  15. oracle windows系统下卸载oracle 11g和安装oracle 11g
  16. 微博SDK 分享以后无法返回
  17. 计算机傅里叶什么知识美颜,傅里叶变换是用来做什么的,具体举例一下应用?...
  18. 华为linux连蓝牙鼠标,huawei蓝牙鼠标怎么样? 华为蓝牙鼠标连接使用教程
  19. 判断司机是否酒后驾车
  20. 今日头条搜索排名seo怎么做?今天头条网站优化规则揭秘!

热门文章

  1. Altium Designer18中DDR3的数据和地址线如何分别布等长线,走蛇形线
  2. 搜索引擎是如何抓取网站内容的
  3. 电商网站之更新订单状态
  4. Monkey King(左偏树 可并堆)
  5. 永磁同步直线电机仿真实例,仿真教学 maxwell16.0版本 12槽11极
  6. Linux下Samba服务器配置,已成功
  7. Supervisor 命令
  8. 南京卡地亚数码科技 网站维护 数据更新
  9. SAP FICO付款及清账
  10. AndroidStudio的Gradle完全教程