sar图像目标检测matlab,SAR影像精配准matlab编程

主程序:

XGXSfJpz(相干系数法精配准)

functiondatxg=XGXSfJpz(data1,data2,wsize,IF,N)

% XGXSfJpz :相干系数法精配准(SAR影像)

% Input parameter:

%data1

:输入数据1为粗配准后的主影像数据

%data2

:输入数据2为粗配准后的从影像数据

%wsize

:精配准时原始影像上的目标窗口大小

%IF

:确定是否(是则填‘Yes’或者‘y’)剔除奇异值的字符变量

%N

:同名点对数(如果要剔除奇异值,则一般定为所需同名点对数的2倍;否则即

%为所需同名点对数)

% Output parameter:

%datxg

:输出数据为主影像数据与精配准影像数据的相干(共轭相乘)影像数据

% 2009.5 20090780刘夯

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[row1,col1]=size(data1);

[row2,col2]=size(data2);

row=min(row1,row2);

col=min(col1,col2);

%%精配准同名点

dn=JpzTMD(data1,data2,row,col,wsize,IF,N);

%%显示振幅影像上的同名点对

XsTMD(data1,data2,dn);

%%计算主从影像行列坐标映射函数

X=JsYSXS(dn);

%%由主影像到从影像的行列坐标变换

scd=ZBBH(X,row,col);

%%对精配准后的从影像重采样

datac=CcyYX(data2,scd,row,col);

%%主影像数据与精配准影像数据共轭相乘(相干)成像

datxg=data1.*conj(datac);

figure,imagesc(angle(datxg));

子程序:

JpzTMD(精配准同名点)

functiondn=JpzTMD(data1,data2,row,col,windowsize,IF,N)

dn=zeros(N,4);

c=(windowsize-1)/2;

C=5*(2*c+1)-1;

d=windowsize/(20*c+9);

dn(:,1)=ceil(4*c+1+(row-8*c-1)*rand(N,1));

dn(:,2)=ceil(4*c+1+(col-8*c-1)*rand(N,1));

forn=1:N

i=dn(n,1);

j=dn(n,2);

[rm,cm]=meshgrid(i-c:i+c,j-c:j+c);

mrv=linspace(i-c,i+c,20*c+9);

mcv=linspace(j-c,j+c,20*c+9);

[Rm,Cm]=meshgrid(mrv,mcv);

m0=data1(i-c:i+c,j-c:j+c);

m=interp2(rm,cm,m0,Rm,Cm);

M=m(C+1-c:C+1+c,C+1-c:C+1+c);

[rs,cs]=meshgrid(i-4*c:i+4*c,j-4*c:j+4*c);

srv=linspace(i-4*c,i+4*c,80*c+9);

scv=linspace(j-4*c,j+4*c,80*c+9);

[Rs,Cs]=meshgrid(srv,scv);

s0=data2(i-4*c:i+4*c,j-4*c:j+4*c);

s=interp2(rs,cs,s0,Rs,Cs);

r=JsXGXS(c,M,s);

dn(n,3)=i+(r(2)-40*c-4)*d;

dn(n,4)=j+(r(3)-40*c-4)*d;

clc;

fprintf('%s%d%s\n\n','已经计算到第',n,'对同名点.....');

end

ifstrcmp('Yes',IF)==1||strcmp('y',IF)==1

fprintf('%s%d%s\n\n','剔除同名点对中行列偏移量大于',3*c,'的奇异值.....');

ID=abs(dn(:,1)-dn(:,3))>3*c|abs(dn(:,2)-dn(:,4))>3*c;

dn(ID,:)=[];

z=size(dn);

fprintf('%s%d%s%d%s\n\n','共剔除',N-z(1),'对奇异值,保留',z(1),'对同名点!');

end

end

JsXGXS(计算相干系数)

functionr=JsXGXS(c,M,s)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值