Matlab读取、转换遥感影像到普通影像
来源:互联网 发布:明道软件电脑版下载 编辑:程序博客网 时间:2024/06/05 05:05
通常我们是利用专业遥感影像处理软件如ENVI等来处理遥感影像。但是在处理小块遥感影像或者需要自己实现一些比较简单但envi上没有的功能,则需要自己编程实现,首要的一步就是读取遥感影像,本篇博客记录如何利用matlab读取遥感影像并将其转换为普通图像。
代码如下:
%输入为制定的RGB对应遥感影像的波段function tif2jpg(r,g,b)%这部分是批处理过程,因为我自己有大量的遥感影像片段需要处理,所以进行批处理imgPath = 'RsImage/';RStiff = dir([imgPath,'*.tif']);%得到指定文件夹下所有tif后缀的文件len = length(RStiff);for i = 1:len RsImg = imread([imgPath, RStiff(i).name]); RsChannel1 = RsImg(:,:,r); RsChannel2 = RsImg(:,:,g); RsChannel3 = RsImg(:,:,b); %因为从遥感影像读取的数据是int16型的,范围超过0-255,需要将每个通道数据压缩至0-255 ImgChannel1 = transform(RsChannel1); ImgChannel2 = transform(RsChannel2); ImgChannel3 = transform(RsChannel3); %将R,G,B三个通道的数据压入图像中 image(:,:,1) = uint8(ImgChannel1); image(:,:,2) = uint8(ImgChannel2); image(:,:,3) = uint8(ImgChannel3); image = uint8(image);%最后将image中的数据指定为int8 如无此步,则可能出错 imwrite(image,['image-convert/',num2str(i,'%06d'),'.jpg']); image = [];endend%将单个通道内的数据压缩至0-255function imgChannel = transform(rsChannel)maxC = max(max(rsChannel));minC = min(min(rsChannel));temp = maxC*1.0 - minC*1.0;k = 255.0/double(temp);b = -1.0*k*minC;imgChannel = rsChannel*k + b;end
到此,完成遥感影像到普通影像的转换,可以进行后续的其他操作了
0 0
- Matlab读取、转换遥感影像到普通影像
- 用Matlab读写单波段遥感影像
- 遥感影像的分块读取和显示
- 遥感影像预处理
- 遥感影像几何校正
- 遥感影像命名规则
- 遥感影像几何校正
- 遥感影像几何校正
- 遥感影像处理流程
- 遥感影像处理
- 遥感影像处理
- 遥感影像融合
- 全色遥感影像
- 遥感影像融合方法
- GDAL遥感影像读取与显示-vc环境
- 【C/C++】超大遥感影像读取和存储 GDAL
- GDAL遥感影像读取与显示-vc环境
- 使用GDAL对遥感影像进行投影转换
- apt-get 依赖版本过高(Depends: g++-4.6(>= 4.6.3-1)but it is not going)
- android i/o流
- ValidatorCalloutExtender
- 关于Retrofit2.0源码的学习和理解
- apt-get install安装软件问题(安装包的依赖库版本过高问题)[原创]
- Matlab读取、转换遥感影像到普通影像
- LinuxShell宝典 --- sed&awk
- NSDate 获取当前日期之后的N个工作日
- Android倒计时效果
- Spring注解
- 本地jdk配置
- U盘安装CentOS时停在Reached target Basic System的解决方案
- 【操作系统】请求分页存储管理方式
- 60周年大庆解说词