24小时热门版块排行榜    

查看: 503  |  回复: 1

shawmarkk

银虫 (初入文坛)

[求助] 求助用于电子稳像的灰度投影算法源码 已有1人参与

求助用于电子稳像的灰度投影算法源码!急急急!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

沧海逍遥

铁虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
shawmarkk: 金币+200, ★★★★★最佳答案 2015-07-06 18:14:05
%投影法,投影修正,余弦滤波
%水平方向最大偏移正负20个象素
%垂直方向最大偏移正负30个象素
clear all
mov=aviread('v2.avi');   


g=[];

for t=50:80
    mov(t).cdata=rgb2gray(mov(t).cdata);
  
    g=cat(3,g,mov(t).cdata);
end  

gr=[];
gr=cat(3,gr,g(:,:,1));

frow=30;
fcol=20;
  
referenceframe=g(:,:,1);
refprojrow=zeros(240,1);
refprojcol=zeros(1,320);

%行投影
refprojrowsum=0;
for i=1:240
    for j=1:320
        refprojrow(i)=refprojrow(i)+double(referenceframe(i,j));
      
    end  
    refprojrowsum=refprojrowsum+refprojrow(i);
end  
refprojrowmean=refprojrowsum/240;
refprojrow=refprojrow-refprojrowmean;

figure;plot(refprojrow);


for i=1:240
    if (i240-frow)  
       refprojrow(i)=refprojrow(i)*(1+cos(pi*(frow-1-i)/frow))/2;
   end
end
     
hold on
plot(refprojrow,'r');
     
     
%列投影
refprojcolsum=0;
for j=1:320
   for i=1:240
        refprojcol(j)=refprojcol(j)+double(referenceframe(i,j));
      
    end  
    refprojcolsum=refprojcolsum+refprojcol(j);
end  
refprojcolmean=refprojcolsum/320
refprojcol=refprojcol-refprojcolmean;
figure;plot(refprojcol);

for j=1:320
    if (j240-fcol)  
       refprojcol(j)=refprojcol(j)*(1+cos(pi*(fcol-1-j)/fcol))/2;
   end
end
hold on ; plot(refprojcol,'r');

for t=2:20
    t
     
currentframe=g(:,:,t);

%行投影
curprojrow=zeros(240,1);
curprojrowsum=0;

for i=1:240
    for j=1:320
        %refprojrow(i)=refprojrow(i)+double(referenceframe(i,j));
        curprojrow(i)=curprojrow(i)+double( currentframe(i,j));
    end  
    curprojrowsum=curprojrowsum+curprojrow(i);
end  
curprojrowmean=curprojrowsum/240;
curprojrow=curprojrow-curprojrowmean;


for i=1:240
    if (i240-frow)  
       curprojrow(i)=curprojrow(i)*(1+cos(pi*(frow-1-i)/frow))/2;
   end
end

%figure;plot(refprojrow);hold on  
%plot(curprojrow,'r');xlabel('行投影')
%180单位的相关运算   %垂直方向最大偏移正负30个象素
cr=zeros(1,61);
for j=1:61
    for i=1:180
       cr(j)=cr(j)+(refprojrow(j+i-1)-curprojrow(30+i))^2;
    end
end

%figure;plot(cr,'g'); xlabel('垂直方向')

[b,jmin]=min(cr);
dy=31-jmin

%列投影
curprojcol=zeros(1,320);
curprojcolsum=0;

for j=1:320
   for i=1:240
        %refprojcol(j)=refprojcol(j)+double(referenceframe(i,j));
        curprojcol(j)=curprojcol(j)+double(currentframe(i,j));
    end  
    curprojcolsum=curprojcolsum+curprojcol(j);
end  
curprojcolmean=curprojcolsum/320;
curprojcol=curprojcol-curprojcolmean;


for j=1:320
    if (j240-fcol)  
       curprojcol(j)=curprojcol(j)*(1+cos(pi*(fcol-1-j)/fcol))/2;
   end
end

%figure;plot(refprojcol);hold on;
%plot(curprojcol,'r');   xlabel('列投影')

%水平方向最大偏移正负20个象素
%280单位的相关运算
cc=zeros(1,41);
for i=1:41
    for j=1:280
      cc(i)=cc(i)+(refprojcol(j+i-1)-curprojcol(20+j))^2;
    end
end

%figure;plot(cc,'g');   xlabel('水平方向')

[a,imin]=min(cc);
dx=21-imin

if dy<0
    %dy<0,图currentframe相对于referenceframe向上运动了|dy|
    a=zeros(abs(dy),320);
   guoduframe=[a;currentframe(1:240-abs(dy),];
elseif dy>0
    %dy>0,图currentframe相对于referenceframe向下运动了|dy|,
    a=zeros(dy,320);
    guoduframe=[currentframe(1+abs(dy):240,;a];
else
     guoduframe=currentframe;
end


     
if dx<0
   %dx<0,图currentframe相对于referenceframe向左运动了|dx|  
    c=zeros(240,abs(dx));
    buchangframe=[c,guoduframe(:,1:320-abs(dx))];  
elseif dx>0
    %dx>0,图currentframe相对于referenceframe向右运动了|dx|
    c=zeros(240,dx);
    buchangframe=[guoduframe(:,abs(dx)+1:320),c];
else
    buchangframe=guoduframe;
end
  
%figure;imshow(buchangframe);
gr=cat(3,gr,buchangframe);

  %referenceframe=buchangframe;
  %refprojrow=curprojrow;
  %refprojcol=curprojcol;
end
2楼2015-07-06 14:59:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 shawmarkk 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 hKe7U1kad5Sg 2026-10-31 5/250 2026-11-02 03:39 by xzcv0Tehd8lQ
[硕博家园] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 hKe7U1kad5Sg 2026-10-31 6/300 2026-11-02 03:37 by xzcv0Tehd8lQ
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 hKe7U1kad5Sg 2026-10-31 8/400 2026-11-02 03:24 by xzcv0Tehd8lQ
[基金申请] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +5 xvJS1BYDxvBS 2026-10-31 11/550 2026-11-02 03:13 by xzcv0Tehd8lQ
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 1uaZt2kAZj2S 2026-10-30 20/1000 2026-11-02 02:52 by xzcv0Tehd8lQ
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 hKe7U1kad5Sg 2026-10-31 5/250 2026-11-01 22:27 by xzcv0Tehd8lQ
[基金申请] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 hKe7U1kad5Sg 2026-10-31 6/300 2026-11-01 22:11 by xzcv0Tehd8lQ
[考博] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 xvJS1BYDxvBS 2026-10-31 7/350 2026-11-01 22:01 by xzcv0Tehd8lQ
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 1uaZt2kAZj2S 2026-10-31 5/250 2026-11-01 21:45 by xzcv0Tehd8lQ
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 1uaZt2kAZj2S 2026-10-30 11/550 2026-11-01 21:35 by xzcv0Tehd8lQ
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 hKe7U1kad5Sg 2026-10-31 6/300 2026-11-01 19:50 by xzcv0Tehd8lQ
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 1uaZt2kAZj2S 2026-10-30 13/650 2026-11-01 16:48 by BCdvBAEpt3zm
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 X5bHxOULxFqb 2026-10-30 22/1100 2026-11-01 16:35 by BCdvBAEpt3zm
[硕博家园] 越来越担心硕士毕业后没有竞争力了 +9 zuesli 2026-10-27 15/750 2026-11-01 12:59 by Equinoxhua
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 1uaZt2kAZj2S 2026-10-30 17/850 2026-11-01 12:24 by BCdvBAEpt3zm
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 1uaZt2kAZj2S 2026-10-30 11/550 2026-11-01 12:24 by BCdvBAEpt3zm
[硕博家园] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 1uaZt2kAZj2S 2026-10-30 13/650 2026-11-01 12:14 by BCdvBAEpt3zm
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 X5bHxOULxFqb 2026-10-30 18/900 2026-11-01 12:11 by BCdvBAEpt3zm
[论文投稿] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 1uaZt2kAZj2S 2026-10-31 8/400 2026-11-01 03:59 by YXM1FDCSE8Bn
[硕博家园] 申博自荐 2篇一区TOP+1篇EI+2公开发明专利 2027博士申请 +3 小小阿光 2026-10-27 3/150 2026-10-29 23:56 by 起风了的快乐
信息提示
请填处理意见