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

scikit-image

scikit-image 是一个专门用于图像处理的 Python 库,它可以与 Scipy 库和其他可能有助于计算的 Python 库一起使用。

Github地址:https://github.com/scikit-image/scikit-image Star有5.3k

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

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

子模块名称

主要实现功能

io

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

data

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

color

颜色空间变换

filters

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

draw

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

transform

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

morphology

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

exposure

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

feature

特征检测与提取等

measure

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

segmentation

图像分割

restoration

图像恢复

util

通用函数

转换代码

 #-*- 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)提示以下问题:

ValueError: <COMPRESSION.LZW: 5> requires the 'imagecodecs' package

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

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

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

其他说明

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

sio.savemat(outputgeotiff_path, {'imggt':imggt})

猜你喜欢

转载自blog.csdn.net/soderayer/article/details/129357001
今日推荐