使用Matlab结合神经网络模型对多波段影像进行计算
2015-08-24 23:03
976 查看
前期做了一个构造神经网络模型预测叶绿素浓度的项目,主要内容是通过影像的反射率反演出叶绿素浓度。现在模型构建出来了,如何利用这个模型对研究区域的影像进行计算叶绿素浓度呢?接着需要利用Matlab来操作了。
(1)打开Matlab,导入影像。
I=imread('122_33_20140422.img');
im=imread('D:\test.tif');
两种方式,第一种是该影像在当前工作目录下,另一种就是通过盘符寻找。
然后在Workspace里出现一个三维l*m*n矩阵,分别代表行数,列数和波段数。
(2)将三维矩阵拆成n个二维矩阵,n为波段数,即获取每个波段的影像值矩阵。
A1= I ( : , : , 1) %第一波段所有像素点
A2= I ( : , : , 2) %第二波段所有像素点
A3= I ( : , : , 3) %第三波段所有像素点
(3)我所使用的影像类型是int16型的,进行计算时候需要将其转成double型的。
(4)进行到这里,需要提一下,我设计的神经网络模型的输入矩阵是n*a,a代表样本数,n代表波段数,所以我需要将刚才分开的七个矩阵转化成行向量,接着再组合成一个n*a型矩阵,这样才能导入到神经网络模型中。
(5)接着就可以将已建好的net导入进来,然后对刚组合好的n*a矩阵(即a个样本)进行反演运算。得到1*a叶绿素浓度矩阵,然后利用reshape函数重新组合成l*m型二维矩阵(起名叫“Finish”)。
(6)然后利用下面的语句
imagesc(Finish);
即可查看生成的叶绿素浓度图。
(1)打开Matlab,导入影像。
I=imread('122_33_20140422.img');
im=imread('D:\test.tif');
两种方式,第一种是该影像在当前工作目录下,另一种就是通过盘符寻找。
然后在Workspace里出现一个三维l*m*n矩阵,分别代表行数,列数和波段数。
(2)将三维矩阵拆成n个二维矩阵,n为波段数,即获取每个波段的影像值矩阵。
A1= I ( : , : , 1) %第一波段所有像素点
A2= I ( : , : , 2) %第二波段所有像素点
A3= I ( : , : , 3) %第三波段所有像素点
(3)我所使用的影像类型是int16型的,进行计算时候需要将其转成double型的。
(4)进行到这里,需要提一下,我设计的神经网络模型的输入矩阵是n*a,a代表样本数,n代表波段数,所以我需要将刚才分开的七个矩阵转化成行向量,接着再组合成一个n*a型矩阵,这样才能导入到神经网络模型中。
(5)接着就可以将已建好的net导入进来,然后对刚组合好的n*a矩阵(即a个样本)进行反演运算。得到1*a叶绿素浓度矩阵,然后利用reshape函数重新组合成l*m型二维矩阵(起名叫“Finish”)。
(6)然后利用下面的语句
imagesc(Finish);
即可查看生成的叶绿素浓度图。
相关文章推荐
- HTTP协议详解
- http协议详解(超详细)
- HTTP 协议简介
- VMWare 虚拟机 网络设置
- 配置https连接器与Tomcat管理平台
- http协议请求部首详解以及用c++写socket下载文件
- 《HTTP权威指南》阅读笔记(一)
- 【计算机网络】简单网络管理协议 SNMP
- 异步IO接口Libaio的用法http://blog.chinaunix.net/uid-16979052-id-3509393.html
- Cocos2d-x 网络登录与注册
- Cocos2d-x 获取网络图片缓存并展示
- 常见网络协议
- iOS开发之网络篇-CocoaPods的安装 EI Capitan 10.11 之前的方式
- 网络环路原理及其影响
- PHP的readfile函数和file_get_contents函数错误: Unable to find the wrapper "https"
- 使用HTTP协议从网上获取资源下载到本地(1)
- Http status code 状态码
- Nginx Wiki(已过时最新:http://nginx.org/en/docs/)
- Linux下面无线网络配置
- 【Linux 内核网络协议栈源码剖析】系统网络协议栈初始化及数据传输通道建立过程