使用scikit-image遥感图像geotiff格式转mat格式

2024-01-18 08:36:14 浏览数 (1)

首先pip安装scikit-image包,或者直接使用pycharm安装

scikit-image包含一下相关子模块,这里我们使用io模块实现格式转换,输入的geotiff具有很多个波段。

子模块名称

主要实现功能

io

读取、保存和显示图片或视频

data

提供一些测试图片和样本数据

color

颜色空间变换

filters

图像增强、边缘检测、排序滤波器、自动阈值等

draw

操作于numpy数组上的基本图形绘制,包括线条、矩形、圆和文本等

transform

几何变换或其它变换,如旋转、拉伸和拉东变换等

morphology

形态学操作,如开闭运算、骨架提取等

exposure

图片强度调整,如亮度调整、直方图均衡等

feature

特征检测与提取等

measure

图像属性的测量,如相似性或等高线等

segmentation

图像分割

restoration

图像恢复

util

通用函数

转换代码
代码语言:javascript复制
 #-*- coding: utf-8 -*-
import scipy.io as sio
import skimage.io
import imagecodecs
# to open a tiff file for reading:
inputgeotiff_path=r"D:gt00cls00.tif" #geotiff
outputgeotiff_path=r"D:gt00cls00.mat"  #tiff
#图像读取
imggt=skimage.io.imread(inputgeotiff_path)
sio.savemat(outputgeotiff_path, {'imggt':imggt})
 
print('success')

运行错误记录:scikit-image ValueError: <COMPRESSION.LZW: 5> requires the 'imagecodecs' package

在使用scikit-image包对geotiff数据进行格式转换(tiff转mat)提示以下问题:

代码语言:javascript复制
ValueError: <COMPRESSION.LZW: 5> requires the 'imagecodecs' package

开始以为这个问题是由于输入图像是geotiff格式不支持的原因,查阅了相关资料,应该是支持的,也试用过其他三通道的tif格式的小图片,可以正常运行。

解决办法:根据提示安装'imagecodecs' package,重新运行,运行成功了。

安装过程中,网络总是不稳定,最后使用手机移动网络连接实现安装的。

其他说明

这里的imggt是mat文件的key值,需要注意记录一下,后期读取的是都是需要用到的,最好设置的和文件名称一致,方便记忆。

代码语言:javascript复制
sio.savemat(outputgeotiff_path, {'imggt':imggt})

0 人点赞