您好,欢迎访问三七文档
红外图像序列生成源程序%利用点扩散模型,生成红外图像序列,以供后继TBD检测使用%采样时间T=1;%仿真结束时间(采样总帧数)T_end=30;%假定目标从某一特定帧开始出现,然后在另一特定帧消失T_ap=7;T_dp=23;%分辨单元数目N_x=256;%横向分布单元数目M_y=256;%纵向分布单元数目%分辨单元的宽度Delta_X=1;Delta_Y=1;%传感器的模糊参数值SIGMA=0.7;%系统状态转移矩阵Phi=[1,T,0,0,00,1,0,0,00,0,1,T,00,0,0,1,00,0,0,0,1];%系统噪声协方差矩阵中的目标状态和灰度幅值噪声强度q1=0.001;%目标状态q2=0.01;%目标灰度值%系统噪声协方差矩阵Q=[q1*T^3/3,q1*T^2/2,0,0,0q1*T^2/2,q1*T,0,0,00,0,q1*T^3/3,q1*T^2/2,00,0,q1*T^2/2,q1*T,00,0,0,0,q2*T];%系统观测噪声R=3^2;%*************************************%变量取值初始化过程%*************************************%定义滤波初值X=[4.2,0.45,7.2,0.25,20]';%观测值矩阵(以每个像素点为基准)Measure_i=zeros(N_x,M_y);%保存全部帧的观测值Measure=zeros(N_x,M_y,floor(T_end/T));%对状态进行迭代,并进行灰度图像显示fork=1:T:T_end%初始化随机数发生器randn('state',sum(100*clock));%*****************************************%在T_ap之前,由于没有目标出现%*****************************************if(kT_ap)%系统状态不发生变化,仅进行观测的更新fori=1:N_xforj=1:M_yMeasure_i(i,j)=sqrt(R)*randn;endend%*****************************************%在T_ap之后,目标已经出现%*****************************************elseif(kT_dp)%目标尚未消失,观测中将带有目标信息,观测采用点扩散模型%1.首先更新当前时刻的目标状态w=sqrt(Q)*randn(5,1);X=Phi*X+w;%2.生成每个分辨单元中的观测值fori=1:N_xforj=1:M_y%首先计算目标的点扩散效应h=Delta_X*Delta_Y*X(5)/(2*pi*SIGMA^2)…*exp(-((X(1)-i*Delta_X)^2+(X(3)-j*Delta_Y)^2)/(2*SIGMA^2));%叠加观测噪声Measure_i(i,j)=h+sqrt(R)*randn;endendelse%目标已经消失,恢复到噪声观测fori=1:N_xforj=1:M_yMeasure_i(i,j)=sqrt(R)*randn;endendendend%保存当前帧的图像Measure(:,:,k)=Measure_i(i,j);%显示图像(每隔5帧显示一次)if(mod(k,5)==0)figure,imshow(Measure_i);endend
本文标题:红外图像序列生成
链接地址:https://www.777doc.com/doc-2103010 .html