• 大小: 1KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-04-29
  • 语言: Matlab
  • 标签: 电子稳像  稳像  

资源简介

基于灰度的电子稳像,matlab实现的课程设计

资源截图

代码片段和文件信息

A=imread(‘tire.tif‘); %打开原图
[hw]=size(A);   %取图像的长宽,用在imtransform中
figure;
imshow(A);title(‘前一帧‘)       %输出前一帧
tform=maketform(‘affine‘[1 0 5; 0 1 5; 0 0 1]‘);
B=imtransform(Atform‘XData‘[1 w]‘YData‘[1 h]);      %得到处理素材
figure;
imshow(B);title(‘当前帧‘)      %输出当前帧


m=0;                 %建立变量m
n=0;                 %建立变量n
[mn]= size(A);      %把A中图像行数赋给m,列数赋给n
Hproj=zeros(m1);    %建立m*1的一维数组Hproj
Hproj1=zeros(m1);   %建立m*1的一维数组Hproj1
Vproj=zeros(1n);    %建立1*n的一维数组Vproj   
Vproj1=zeros(1n);   %建立1*n的一维数组Vproj1
for k=1:m     
    Hproj(k) = sum(A(k:));  
    Hproj1(k) = sum(B(k:));
 end;                %每行求和,赋给对应的Hproj数组中的元素
figure;plot(Hproj);    xlabel(‘前一帧行投影‘);%得到前一帧行投影       
figure;plot(Hproj1); xlabel(‘当前帧行投影‘); %得到当前帧行投影
for v=1:n
    Vproj(v) = sum(A(:v));  
    Vproj1(v) = sum(B(:v)); 
 end;               %每行求和,赋给对应的Hproj数组中的元素
figure;plot(Vproj);  xlabel(‘前一帧列投影‘);       %输出一维曲线
figure;plot(Vproj1); xlabel(‘当前帧列投影‘);
cc=zeros(160); 
for i=1:60
    for j=1:120
      cc(i)=cc(i)+(Hproj(i+j)-Hproj1(30+j))^2;     %行相关计算
    end ;
end ;
figure;plot(cc‘g‘);   xlabel(‘垂直方向‘) ;
[simin]=min(cc); 
dy=31-imin;                     %得到垂直偏移量
cr=zeros(160); 
for d=1:60
    for b=1:120
      cr(d)=cr(d)+(Vproj(d+b)-Vproj1(30+b))^2;     %列相关计算
    end ;
end ;
figure;plot(cr‘r‘);   xlabel(‘水平方向‘) ;  
[gdmin]=min(cr);
dx=31-dmin;                       %得到水平偏移量
tform=maketform(‘affine‘[1 0 -dx; 0 1 -dy; 0 0 1]‘);   %运动矢量补偿
C=imtransform(Btform‘XData‘[1 w]‘YData‘[1 h]);
figure;                               
imshow(C);title(‘稳像后的当前帧‘);      %处理结果输出
K=imsubtract(AB);
figure;
imshow(K); title(‘稳像前两帧差‘)       %输出稳像前两帧差
H=imsubtract(AC);
figure;
imshow(H);title(‘稳像后两帧差‘);        %输出稳像后两帧差

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2026  2012-06-05 07:49  wancheng.m

评论

共有 条评论