【圖像檢測(cè)】基于計(jì)算機(jī)視覺實(shí)現(xiàn)遙感圖像變換檢測(cè)含Matlab源碼
1 簡介
變化監(jiān)測(cè)是從不同時(shí)期的遙感圖像中,定量地分析和確定地物變化的特征的過程,其中涉及到變化的類型、分布狀況及變化信息的描述,即需要確定變化前后的地物類型,界限和分析變化的屬性.本文采用在遙感軟件中進(jìn)行圖像配準(zhǔn)后再在MATLAB下使用差值法進(jìn)行變化監(jiān)測(cè),能夠監(jiān)測(cè)出較好的變化效果.
2 部分代碼
function [ img_res,nChange] = changedetect( A,B,method,threshold)
% 變化檢測(cè)函數(shù)
% 輸入:變化前后圖像A、B,以及檢測(cè)方法名method,對(duì)應(yīng)閾值threshold
% 輸出:結(jié)果差異二值圖像img_res,差異像素?cái)?shù)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
% 相關(guān)系數(shù)法
if strcmp(method,'corrcoef')
? ?nChange = 0;
? ?temp1=zeros(3,3);
? ?temp2=zeros(3,3);
? ?img1=double(img1);
? ?img2=double(img2);
? ?img3=double(img3);
? ?% 計(jì)算5*5大小的窗口的相關(guān)系數(shù)
? ?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 仿真結(jié)果


4 參考文獻(xiàn)
[1]張孟君, 李晨釗, 舒紅,等. 基于MATLAB的遙感圖像變化檢測(cè)[J]. 國土資源遙感, 2005(4):5.
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)、信號(hào)處理、元胞自動(dòng)機(jī)、圖像處理、路徑規(guī)劃、無人機(jī)等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。
