遥感影像语义分割——影像拼接、去背景
遥感图像语义分割——影像拼接和去除背景
文章目录
- 遥感图像语义分割——影像拼接和去除背景
- 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代码已经展示完毕。希望对大家有帮助
遥感影像语义分割——影像拼接、去背景相关推荐
- 基于深度学习的遥感影像语义分割数据预处理
基于深度学习的遥感影像语义分割数据预处理 第一次处理数据,不熟练,仅供参考 数据预处理工具:Arcgis 第一步:下载遥感影像tif数据 根据实际需求选择感兴趣的遥感影像区域 数据来源:Google卫 ...
- 【论文阅读】结合空洞卷积的 FuseNet变体网络高分辨率遥感影像语义分割
[论文阅读]结合空洞卷积的 FuseNet变体网络高分辨率遥感影像语义分割 一.论文总体框架 首先,采用 FuseNet变体网络将数字地表模型(digital surface model,DSM) ...
- 深度学习高遥感影像语义分割
深度学习遥感影像语义分割 深度学习大家都知道,在计算机视觉领域取得了很大的成功,在遥感影像自动解译方面,同样带来了快速的发展,我在遥感影像自动解译领域,也做了一些微薄的工作,发表几篇论文,我一直关注遥 ...
- 深度学习高分辨率遥感影像语义分割
深度学习大家都知道,在计算机视觉领域取得了很大的成功,在遥感影像自动解译方面,同样带来了快速的发展,我在遥感影像自动解译领域,也做了一些微薄的工作,发表几篇论文,我一直关注遥感影像自动解译领域, 在北 ...
- 遥感识别1——遥感影像语义分割参考文献
语义分割与变化检测 1 背景综述 2 数据集制作 2.1 公开数据集 2.2 数据集制作 3 样本增强 4 模型构建 5 模型训练 6 模型预测 7 变化检测 8 结果后处理 9 工程案例 参考文献: ...
- 遥感影像语义分割数据集
遥感图像语义分割数据集 文章目录 遥感图像语义分割数据集 1.建筑 1.1 Aerial Image Segmentation Dataset 1.2 INRIA aerial image datas ...
- 上下文聚合网络用于遥感影像语义分割
Context Aggregation Network for Semantic Labeling in Aerial Images 摘要: 高分辨率航拍图像的语义标注是遥感图像分析的基本和必要任务. ...
- 遥感图像语义分割——从原始图像开始制作自己的数据集(以高分二号为例)
遥感图像语义分割--从原始图像开始制作自己的数据集(以高分二号为例) 文章目录 遥感图像语义分割--从原始图像开始制作自己的数据集(以高分二号为例) 1.遥感影像获取 2.遥感数据预处理(影像融合) ...
- 遥感图像语义分割各公开数据集
遥感图像语义分割数据集 1. Gaofen Image Dataset(GID) 2. ISPRS Test Project on Urban Classification and 3D Buildi ...
最新文章
- matlab 信号的原子产生,MATLAB随机产生原子结构代码
- 《Raspberry Pi用户指南》——2.4 使用外部存储设备
- 深入理解领域驱动设计中的聚合
- 借助Redis完成延时任务
- 图片自动翻转css代码,用css实现图片翻转(示例代码)
- 同样是面试简历,为何你如此风骚!
- 雨尘SEO静态页面生成系统版本源码3秒钟可生成上千条单页面SEO必备神器
- Pytorch 之autograd
- Ubuntu解决sudo source command not found错误
- 作为“梅西式”程序员,我要跳槽了
- 学python能做什么-非计算机专业的人学python能做什么?
- Q-learning学习笔记
- Android中的GraphicBuffer同步机制-Fence
- 多文档文本编辑器(Qt)
- oracle windows系统下卸载oracle 11g和安装oracle 11g
- 微博SDK 分享以后无法返回
- 计算机傅里叶什么知识美颜,傅里叶变换是用来做什么的,具体举例一下应用?...
- 华为linux连蓝牙鼠标,huawei蓝牙鼠标怎么样? 华为蓝牙鼠标连接使用教程
- 判断司机是否酒后驾车
- 今日头条搜索排名seo怎么做?今天头条网站优化规则揭秘!