700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > .mat转.tif 用于arcgis裁剪遥感图像

.mat转.tif 用于arcgis裁剪遥感图像

时间:2022-11-03 10:49:23

相关推荐

.mat转.tif 用于arcgis裁剪遥感图像

在用arcgis矢量裁剪分类结果图(栅格数据)之前,分类结果中numpy数组先保存为.mat格式,这样就可以在matlab中load该mat文件 ,由于mat文件是struct ,不能直接imwrite成tif,所以要先转换成矩阵形式,再imwrite

转换部分参考 /eLe9k

S1 = load('vscnnnopca1.mat');

BP1 = struct2cell(S1);

Mymat1 = cell2mat(BP1);

imwrite(uint8(Mymat1),'image.tif','tif' )%记住加unit8,否则图像会是二值图像了

%如果超过0-255的范围,用unit16

以下是我保存为tif的错误尝试:

1.曾尝试在分类结果里的numpy(二维,与图像高宽尺寸一致)直接spectral.save_rgb保存为tif,但是保存的tif加上坐标后 用arcmap裁剪并不会出现7种类别信息,只是按shp边界裁剪出了形状而已。

spectral.save_rgb("jiaozuo.tif", outputs.astype(int), colors=spectral.spy_colors)

2.曾尝试imshow mat,然后再出来的图那里文件-》另存为tif,但是这样的保存结果与原来的图的尺寸不一样,又尝试用windows附件-》画图工具修改图像尺寸,也尝试用ps修改tif图像大小,但是这样修改之后加上坐标在arcmap中打开就会出现问题:图像中的想要的区域和shp大小不重合 裁剪不了。

所以还是得保存numpy成mat 再转tif 加上坐标之后就是完整的栅格数据了,在arcmap再打开shp矢量数据,用掩膜截取,就能得到想要的区域并且含有类别信息,进一步可以双击更换每一类的颜色。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。