1 简介
变化监测是从不同时期的遥感图像中,定量地分析和确定地物变化的特征的过程,其中涉及到变化的类型、分布状况及变化信息的描述,即需要确定变化前后的地物类型,界限和分析变化的属性.本文采用在遥感软件中进行图像配准后再在MATLAB下使用差值法进行变化监测,能够监测出较好的变化效果.
2 部分代码
function [ img_res,nChange] = changedetect( A,B,method,threshold)% 变化检测函数% 输入:变化前后图像A、B,以及检测方法名method,对应阈值threshold% 输出:结果差异二值图像img_res,差异像素数nChangeimg1=rgb2gray(A);img2=rgb2gray(B);[row,col] = size(img1);img3=ones(row,col);% 比值法if strcmp(method,'ratio')nChange = 0;for i=1:rowfor j=1:colif(img1(i,j)==0&&img2(i,j)~=0)if(abs(img1(i,j)/img2(i,j)-1)>threshold)%阈值img3(i,j)=0;nChange = nChange+1;endelseif(img2(i,j)==0&&img1(i,j)~=0)if(abs(img2(i,j)/img1(i,j)-1)>threshold)%阈值img3(i,j)=0;nChange = nChange+1;endelseif(abs(img1(i,j)/img2(i,j)-1)>threshold)%阈值img3(i,j)=0;nChange = nChange+1;endendendendend% 归一化法if strcmp(method,'norm')nChange = 0;img1=double(img1);img2=double(img2);img3=double(img3);max1=max(max(img1));max2=max(max(img2));min1=min(min(img1));min2=min(min(img2));for i=1:rowfor j=1:colimg1(i,j)=(img1(i,j)-min1)/(max1-min1);img2(i,j)=(img2(i,j)-min2)/(max2-min2);endendfor i=1:rowfor j=1:colif(abs(img1(i,j)-img2(i,j))>threshold)img3(i,j)=0;nChange = nChange+1;endendendend% 相关系数法if strcmp(method,'corrcoef')nChange = 0;temp1=zeros(3,3);temp2=zeros(3,3);img1=double(img1);img2=double(img2);img3=double(img3);% 计算5*5大小的窗口的相关系数for i=2:row-1for j=2:col-1temp1=[img1(i-1,j-1),img1(i-1,j),img1(i-1,j+1);img1(i,j-1),img1(i,j),img1(i,j+1);img1(i+1,j-1),img1(i+1,j),img1(i+1,j+1)];temp2=[img2(i-1,j-1),img2(i-1,j),img2(i-1,j+1);img2(i,j-1),img2(i,j),img2(i,j+1);img2(i+1,j-1),img2(i+1,j),img2(i+1,j+1)];corr=corrcoef(temp1,temp2);if(abs(corr(1,2))<threshold)img3(i,j)=0;nChange = nChange+1;endendendendimg_res = img3;
3 仿真结果


4 参考文献
[1]张孟君, 李晨钊, 舒红,等. 基于MATLAB的遥感图像变化检测[J]. 国土资源遥感, 2005(4):5.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
397

被折叠的 条评论
为什么被折叠?



