当前位置 : 主页 > 编程语言 > python >

【图像检测】基于计算机视觉实现遥感图像变换检测含Matlab源码

来源:互联网 收集:自由互联 发布时间:2022-06-15
1 简介 变化监测是从不同时期的遥感图像中,定量地分析和确定地物变化的特征的过程,其中涉及到变化的类型、分布状况及变化信息的描述,即需要确定变化前后的地物类型,界限和分析变


1 简介

变化监测是从不同时期的遥感图像中,定量地分析和确定地物变化的特征的过程,其中涉及到变化的类型、分布状况及变化信息的描述,即需要确定变化前后的地物类型,界限和分析变化的属性.本文采用在遥感软件中进行图像配准后再在MATLAB下使用差值法进行变化监测,能够监测出较好的变化效果.

2 部分代码

function [ img_res,nChange] = changedetect( A,B,method,threshold)
% 变化检测函数
% 输入:变化前后图像A、B,以及检测方法名method,对应阈值threshold
% 输出:结果差异二值图像img_res,差异像素数nChange
img1=rgb2gray(A);
img2=rgb2gray(B);
[row,col] = size(img1);
img3=ones(row,col);
% 比值法
if strcmp(method,'ratio')
nChange = 0;
for i=1:row
for j=1:col
if(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;
end
elseif(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;
end
else
if(abs(img1(i,j)/img2(i,j)-1)>threshold)%阈值
img3(i,j)=0;
nChange = nChange+1;
end
end
end
end
end
% 归一化法
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:row
for j=1:col
img1(i,j)=(img1(i,j)-min1)/(max1-min1);
img2(i,j)=(img2(i,j)-min2)/(max2-min2);
end
end
for i=1:row
for j=1:col
if(abs(img1(i,j)-img2(i,j))>threshold)
img3(i,j)=0;
nChange = nChange+1;
end
end
end
end
% 相关系数法
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-1
for j=2:col-1
temp1=[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;
end
end
end
end
img_res = img3;

3 仿真结果

【图像检测】基于计算机视觉实现遥感图像变换检测含Matlab源码_变化检测

【图像检测】基于计算机视觉实现遥感图像变换检测含Matlab源码_变化检测_02

【图像检测】基于计算机视觉实现遥感图像变换检测含Matlab源码_参考文献_03

【图像检测】基于计算机视觉实现遥感图像变换检测含Matlab源码_参考文献_04

4 参考文献

[1]张孟君, 李晨钊, 舒红,等. 基于MATLAB的遥感图像变化检测[J]. 国土资源遥感, 2005(4):5.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【图像检测】基于计算机视觉实现遥感图像变换检测含Matlab源码_遥感图像_05

【图像检测】基于计算机视觉实现遥感图像变换检测含Matlab源码_变化检测_06

网友评论