资源简介
基于MATLAB写的可对遥感影像进行BP神经网络分类的m文件,里面有测试图像数据,其中感兴趣区域数据是由ENVI选取的感兴趣区域保存而来。
代码片段和文件信息
clear all;
clc;
%<----------------------------贝叶斯算法进行遥感图像分类------------------------
%读入样本图像1
Y=imread(‘date\yangqu.tif‘);
%读入待分类遥感图像
I=imread(‘date\wuhan.bmp‘);
%将彩色图像降维
R=I(::1);
G=I(::2);
B=I(::3);
%将灰度值归一化处理
R=im2double(R);
G=im2double(G);
B=im2double(B);
[MN]=size(R);
P=[R;G;B];
a1=1;a2=1;a3=1;
for i = 1 : M
for j = 1 : N
if (Y(ij)==1)
T1(:a1) = I(ij:);
a1=a1+1;
elseif (Y(ij)==2)
T2(:a2) = I(ij:);
a2=a2+1;
elseif (Y(ij)==3)
T3(:a3) = I(ij:);
a3=a3+1;
end
end
end
T1 = im2double(T1);
T2 = im2double(T2);
T3 = im2double(T3);
P=[T1T2T3]; %样区数据
T=[]; %标记结果
TT=[0;0;0];
T=concur(TTa1-1);
TT=[0.4;0.7;0.7];
TT=concur(TTa2-1);
T=[TTT];
TT=[0.6;0.7;0.4];
TT=concur(TTa3-1);
T=[TTT];
%建立BP网络,中间层8,输出层3,tansig、purelin分别为中间层、输出层的转换函数,
echo on
net=newff(minmax(P)[83]{‘tansig‘‘purelin‘}‘trainlm‘);
clc
%设置训练参数
net.trainparam.show=50;
net.trainParam.epochs=1000;
net.trainParam.goal=1e-4;
net=init(net);%重新初始化
[nettr]=train(netPT);
A4=imread(‘date\wuhan.bmp‘);
A4=im2double(A4);%将各波段的灰度值类型转换为人工神经网络可用的类型
RB=A4(::1);%提取出图像红色波段的灰度值
GB=A4(::2);%提取出图像绿色波段的灰度值
BB=A4(::3);%提取出图像蓝色波段的灰度值
%初始化三个矩阵
[mn]=size(RB);%确定图像的行数和列数
RB1=reshape(RB1n*m);
GB1=reshape(GB1m*n);
BB1=reshape(BB1m*n);
X=[RB1;GB1;BB1];
OUT=sim(netX);
IN=sim(netX);
clc
[mn]=size(RB);
r1=OUT(1:);%将数据还原成原始图像的rgb行列格式
r1=reshape(r1mn);
g1=OUT(2:);
g1=reshape(g1mn);
b1=OUT(3:);
b1=reshape(b1mn);
r2=IN(1:);%将数据还原成原始图像的rgb行列格式
r2=reshape(r2mn);
g2=IN(2:);
g2=reshape(g2mn);
b2=IN(3:);
b2=reshape(b2mn);
R=[];
G=[];
B=[];
for i=1:m
for j=1:n
if r1(ij)<0.9
R(ij)=r1(ij);
G(ij)=g1(ij);
B(ij)=b1(ij);
else
R(ij)=r2(ij);
G(ij)=g2(ij);
B(ij)=b2(ij);
end
end
end
Rr=abs(R)*255;%还原成图像格式
Gg=abs(G)*255;
Bb=abs(B)*255;
Rr=uint8(Rr);
Gg=uint8(Gg);
Bb=uint8(Bb);
RGB=cat(3RrGgBb);
clc
imshow(RGB);
title(‘05年分类图像‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-05-22 21:10 BP神经网络\
文件 2485 2013-05-22 19:44 BP神经网络\BPnetwork.m
目录 0 2013-05-22 21:10 BP神经网络\date\
文件 3000054 2013-05-22 19:17 BP神经网络\date\wuhan.bmp
文件 1009921 2013-05-22 19:17 BP神经网络\date\yangqu.tif
- 上一篇:基于MATLAB GUI的数字图像处理
- 下一篇:电磁场计算方法与MATLAB实现
相关资源
- matlab基于BP神经网络的人脸识别13953
- 基于BP神经网络的水上交通事故预测及
- zw_qq_15023225-7501331-S函数的BP神经网络
- BP神经网络MATLAB.zip
- 基于BP神经网络的人脸识别源码matla
- BP神经网络用于蚊子分类
- BP神经网络的人脸识别matlab代码77617
- BP神经网络人脸识别MATLAB.zip
- 基于BP神经网络的手写数字识别matla
- 基于BP神经网络的人脸识别代码
- bp神经网络 matlab代码 识别0到10的数字
- 基于BP神经网络的人脸识别系统_安大
- 基于MATLAB的BP神经网络的人脸朝向识别
- 基于S函数的BP神经网络PID控制器及S
- 基于bp神经网络字符识别系统 matlab代
- 光伏太阳能功率预测基于BP神经网络
- BP神经网络 手写体
- 基于BP神经网络的验证码识别matlab
- bp神经网络源代码(可直接运行)
- BP神经网络的人脸识别matlab代码
- 手写数字识别,基于BP神经网络,ma
- 基于matlab BP网络车牌照识别.zip
- 2 BP神经网络车牌识别.zip
- 《MATLAB 神经网络30个案例分析》程序
- matlab+BP神经网络 手写体数字识别训练
- 基于BP神经网络的语音信号识别
- MATLAB BP神经网络教学视频附pdf文档
- matlab经典智能算法案例分析-BP神经网
- 基于S函数的BP神经网络PID控制器及S
- pso优化bp神经网络代码
评论
共有 条评论