想用易康分类,但是感觉分割的结果不太好,想结合超像素分割SLIC的方法获取分割结果,然后放入易康进行分类,网上找的资料多是jpg或png格式,没有保留地理坐标信息,遂在此记录一下,同时也可帮助有需要的遥感学子。首先是借助GDAL库,获取原始影像的仿射矩阵和地图投影信息,然后借助skimage库实现超像素分割(SLIC方法)。
from skimage.segmentation import slic  # SCLI算法包
import skimage.io as SKimg  # 读取多种栅格图
import numpy as np
from osgeo import gdal
import read_write_image as rwdef read_img(filename):dataset = gdal.Open(filename)  # 打开文件im_width = dataset.RasterXSize  # 栅格矩阵的列数im_height = dataset.RasterYSize  # 栅格矩阵的行数im_geotrans = dataset.GetGeoTransform()  # 仿射矩阵im_proj = dataset.GetProjection()  # 地图投影信息im_data = dataset.ReadAsArray(0, 0, im_width, im_height)  # 将数据写成数组,对应栅格矩阵del datasetreturn im_proj, im_geotrans, im_datadef write_img(filename, im_proj, im_geotrans, im_data):# gdal数据类型包括# gdal.GDT_Byte,# gdal.GDT_UInt16, gdal.GDT_Int16, gdal.GDT_UInt32, gdal.GDT_Int32,# gdal.GDT_Float32, gdal.GDT_Float64# 判断栅格数据的数据类型if 'int8' in im_data.dtype.name:datatype = gdal.GDT_Byteelif 'int16' in im_data.dtype.name:datatype = gdal.GDT_UInt16else:datatype = gdal.GDT_Float32# 判读数组维数if len(im_data.shape) == 3:im_bands, im_height, im_width = im_data.shapeelse:im_bands, (im_height, im_width) = 1, im_data.shape# 创建文件driver = gdal.GetDriverByName("GTiff")  # 数据类型必须有,因为要计算需要多大内存空间dataset = driver.Create(filename, im_width, im_height, im_bands, datatype)dataset.SetGeoTransform(im_geotrans)  # 写入仿射变换参数dataset.SetProjection(im_proj)  # 写入投影if im_bands == 1:dataset.GetRasterBand(1).WriteArray(im_data)  # 写入数组数据else:for i in range(im_bands):dataset.GetRasterBand(i + 1).WriteArray(im_data[i])del datasetpath = r"H:\test\test.tif"
proj, geotrans, data = read_img(path)# 读取影像信息
img = SKimg.imread(path)
# 超像素分割
segments = slic(img, n_segments=260, sigma=5)  # 设置分割数量
segments1 = segments.astype(np.uint16)output = r"H:\test\testshp\result3.tif"
write_img(output, proj, geotrans, segments1)

结果图:

然后在arcgis里面用栅格转面工具,转成矢量数据,就可以导入易康进行分类了。

保存地理坐标信息的SLIC分割结果相关推荐

  1. ENVI去除影像的地理坐标信息

    去除影像的地理坐标信息,很奇怪的一个问题哈~不过没事,遇到了,就记录下来 ~ ENVI去除影像的地理坐标信息 1.带地理坐标的影像: 2.去地理坐标操作: 方法1:ENVI里操作 方法2:matlab ...

  2. python中的cv2模块能否保存图像的地理坐标信息_Python中plt.plot图像保存有白边,CV2.polyline,fillpoly的参数问题,图像保存颜色发生异常...

    Python中,如果你遇到了PIL图像保存有白边,CV2.polyline,fillpoly,参数问题,图像保存颜色发生异常这几个问题,这篇文章就能够解决你的疑惑. 第一个问题,plt图像保存有白边 ...

  3. c语言地理坐标存储 转发,从照片中批量导出GPS地理坐标信息

    1.打开"批量提取照片GPS信息" 2.找到含有整合了GPS信息的照片文件夹,用鼠标将整个文件夹拖入程序窗口 3.回车确认,程序会自动读取GPS信息,写入Excel文件.可能需要暂 ...

  4. 基于SLIC分割的特征点检测

    一:pipeLIne (1):基于模型的pose估计综述: 对于一个3D模型,可以投影到平面,得到不同的位姿,而pose识别是利用所见的2.5D图像,来估计模型,并同时识别出位姿. 3D模型投影时注意 ...

  5. 图像存储的地理坐标位置信息

    图像位置坐标 1 位置坐标是怎么存储的 2 不同图像格式如何存位置信息 2.1 pix文件 2.2 tif格式 2.3 jpg格式 2.4 png格式 3 给没坐标的图像加地理坐标解决方案 3.1 实 ...

  6. 传统分割方法汇总(包括SLIC、Ncut、watershed、graph-based segmentation、Meanshit、最大熵分割)

    网上都有 这里汇总下遇到的传统分割方法: 实验统一用这张老虎 1.SLIC 这个方法python的skimage.segmentation提供了封装方法,在这里我顺便使用了一个图像切片合并的pytho ...

  7. 超像素分割(Slic算法)——个人梳理

    一.使用背景 我在进行乳腺癌图像识别的学校项目中,参考了山东大学的硕士论文,并希望加以简化复现,此论文会在文末附上.项目要求我们需要对乳腺癌图片进行分类(无肿瘤,良性肿瘤,恶性肿瘤),参照论文所说,我 ...

  8. 剪辑视频,按分秒分割多个视频,并保存片断中的音频

    如何剪辑视频,多个视频需要分割时,如何快速分割多个视频呢?并保留每个分割出来片段的音频,下面一起看批量剪辑分割的技巧.来看操作步骤吧,希望以后可以用到. 准备哪些工具: 下载一个媒体梦工厂 多个视频 ...

  9. 彻底讲透FCN语义分割开山之作Fully Convolutional Networks

    FCN论文标题:Fully Convolutional Networks for Semantic Segmentation​ 论文下载地址:https://arxiv.org/abs/1411.40 ...

最新文章

  1. mysql 5.7 1054_MySQL5.7更改密码时出现ERROR 1054 (42S22)的解决方法
  2. 基于Pytorch再次解读DenseNet现代卷积神经网络
  3. 反反复复的磁盘丢失故障处理过程
  4. 上位机多个下位机modbustcp通讯_【C#上位机】西门子1200PLC实用定位控制程序案例...
  5. Java中File的getPath(),getCanonicalPath()和getAbsolutePath()之间的区别
  6. getseconds补0_Java Duration类| getSeconds()方法与示例
  7. java中if 运算符_[Java]Java基本语法结构(运算符,流程控制语句,if语句)
  8. 高薪招聘生物信息工程师-中国科学院深圳先进技术研究院合成所合成生物大设施...
  9. [专栏精选]UI布局
  10. 静态的顺序表(C语言实现)
  11. ajax改变url参数,js修改URL参数_Javascript/Ajax_网页制作 - www.jscode.cn
  12. 固态硬盘:NVME 2.0 新技术 ZNS 自动分区:减少延迟,提高寿命
  13. C/C++调试总结:IDE(visual studio和Dev C++)和GDB使用方法
  14. 鸿蒙OS原子化服务卡片原理和架构分析
  15. Python学习记录day6-反射、常用模块
  16. PPT基础(二十二)裁剪图片
  17. outlook 邮件插入字自动消失
  18. 青少年编程教育平台后台—登录注册(代码编写)
  19. SecureCRT安装与配置(重点:心跳配置)
  20. php查询友情链接,友情链接查询

热门文章

  1. send函数和recv函数
  2. python和java数据类型
  3. HR人力资源管理精粹70则
  4. 基于C#和SQL SERVER的汽车配件仓储管理系统
  5. 排名前6位的最流行的大数据框架,你在用哪一款?
  6. html li spry,借助于spry实现Tab面板
  7. python怎么画长方形_python怎么画矩形
  8. 从多种解决方案中选择最优方案
  9. 数据库SQL语句的增删改查(总结)
  10. 知识点滴 - 多重验证MFA