24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 349  |  回复: 1

pdsnj

金虫 (正式写手)

[求助] 关于图像匹配的代码--看不大懂

CODE:
function [fdsp dsp] = stereo(i1,i2, maxs)
  win_size  = 7; %-- size of window used when smoothing
  tolerance = 2; %-- how close R-L and L-R values need to be
  weight    = 5; %-- weight on gradients opposed to color
  
  %--determine pixel correspondence Right-to-Left and Left-to-Right
  [dsp1, diff1] = slide_images(i1,i2, 1, maxs, win_size, weight);
  [dsp2, diff2] = slide_images(i2,i1, -1, -maxs, win_size, weight);
  
  %--keep only high-confidence pixels
  dsp = winner_take_all(dsp1,diff1,dsp2,diff2,tolerance);
  
  %--try to eliminate bad pixesl
  fdsp = modefilt2(dsp,[win_size,win_size],2);
  
%%----- HELPER FUNCTIONS
%-- takes the best disparity when we're within tolerance
function pd = winner_take_all(d1,m1,d2,m2,tolerance,maxs)
  pixel_dsp = zeros(size(d1));               %-- initialize output
  idx1 = find(abs(d1-d2)   idx2 = find(abs(d1-d2)   pixel_dsp(idx1) = d1(idx1);                %-- fill with d1
  pixel_dsp(idx2) = d2(idx2);                %-- fill with d2
  pd = shift_image(pixel_dsp,5);             %-- shift to match i1
%-- slides images across each other to get disparity estimate
function [disparity mindiff] = slide_images(i1,i2,mins,maxs,win_size,weight)
  [dimy,dimx,c] = size(i1);
  disparity = zeros(dimy,dimx);    %-- init outputs
  mindiff = inf(dimy,dimx);   
  
  h = ones(win_size)/win_size.^2;  %-- averaging filter
  [g1x g1y g1z] = gradient(double(i1)); %-- get gradient for each image
  [g2x g2y g2z] = gradient(double(i2));
  
  step = sign((maxs-mins)/10);          %-- adjusts to reverse slide
  for i=mins:step:maxs
    s  = shift_image(i2,i);        %-- shift image and derivs
    sx = shift_image(g2x,i);
    sy = shift_image(g2y,i);
    sz = shift_image(g2z,i);
    %--CSAD  is Cost from Sum of Absolute Differences
    %--CGRAD is Cost from Gradient of Absolute Differences
    diffs = sum(abs(i1-s),3);       %-- get CSAD and CGRAD
    gdiffx = sum(abs(g1x-sx),3);
    gdiffy = sum(abs(g1y-sy),3);
    gdiffz = sum(abs(g1z-sz),3);
    gdiff = gdiffx+gdiffy+gdiffz;
   
    CSAD  = imfilter(diffs,h);
    CGRAD = imfilter(gdiff,h);
    d = CSAD+weight*CGRAD;          %-- total 'difference' score
   
    idx = find(d     disparity(idx) = abs(i);        %   into correct place in image
    mindiff(idx) = d(idx);
  end
  
%-- Shift an image
function I = shift_image(I,shift)
  dimx = size(I,2);
  if(shift > 0)
    I(:,shift:dimx,:) = I(:,1:dimx-shift+1,:);
    I(:,1:shift-1,:) = 0;
  else
    if(shift<0)  
      I(:,1:dimx+shift+1,:) = I(:,-shift:dimx,:);
      I(:,dimx+shift+1:dimx,:) = 0;
    end  
  end

代码看不大懂,请指点,具体就是上面的几个嵌套的函数i1和i2是RGB图像,maxs值为20
回复此楼
靠山山会倒,靠人人会跑,只有自己最可靠
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pdsnj

金虫 (正式写手)


xiegangmai(金币+1): 鼓励讨论交流! 2011-09-23 19:32:10
似乎懂了,[fdsp dsp] = stereo(i1,i2, maxs)是获得最后的视差图和经过滤波后的视差图。function [disparity mindiff] = slide_images(i1,i2,mins,maxs,win_size,weight) 得到每幅图的视差和梯度
靠山山会倒,靠人人会跑,只有自己最可靠
2楼2011-09-23 16:37:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 pdsnj 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料调剂 +11 吴棂颖! 2026-04-03 11/550 2026-04-04 09:56 by 小小树2024
[考研] 288求调剂 一志愿哈工大 材料与化工 +12 洛神哥哥 2026-04-03 12/600 2026-04-04 09:22 by 有机小民工
[考研] 求调剂,一志愿郑州大学材料与化工专硕,英二数二342分,求老师收留 +17 v12abo 2026-04-02 19/950 2026-04-04 09:16 by 来看流星雨10
[考研] 11408 一志愿西电,277分求调剂 +3 zhouzhen654 2026-04-03 3/150 2026-04-04 08:23 by baoball
[考研] 求材料调剂,一志愿郑州大学289分 +15 硕星赴 2026-04-03 15/750 2026-04-04 01:01 by userper
[考研] 329求调剂,一志愿西北工业大学,材料工程(085601) +8 小小机灵虫 2026-03-29 14/700 2026-04-03 19:38 by lijunpoly
[考研] 285求调剂 +5 AZMK 2026-04-03 8/400 2026-04-03 18:17 by AZMK
[考研] 303求调剂 +10 DLkz1314. 2026-03-30 10/500 2026-04-03 18:03 by Jimmyandyou
[考研] 333求调剂 +9 wfh030413@ 2026-04-03 9/450 2026-04-03 14:20 by 啊俊!
[考研] 0705理学294求调剂 +3 成果成果cg5 2026-04-03 3/150 2026-04-03 14:04 by simons1972
[考研] 抱歉 +5 田洪有 2026-03-30 5/250 2026-04-03 10:24 by linyelide
[考研] 求调剂!生物与医药专硕 +4 逆转陆先生 2026-04-01 5/250 2026-04-03 08:33 by Jaylen.
[考研] 一志愿北京理工大学本科211材料工程294求调剂 +8 mikasa的围巾 2026-03-28 9/450 2026-04-02 12:09 by ms629
[考研] 07生物学求调剂 一志愿同济大学359分 +3 LAMC. 2026-03-30 3/150 2026-04-02 10:26 by 18828373951
[考研] 一志愿西安交大材料学硕(英一数二)347,求调剂到高分子/材料相关专业 +7 zju51 2026-03-31 9/450 2026-04-01 19:35 by CFQZAFU
[考研] 调剂 +3 好好读书。 2026-04-01 3/150 2026-04-01 17:06 by zhouyuwinner
[考研] 材料专硕306英一数二 +7 z1z2z3879 2026-03-31 7/350 2026-04-01 14:50 by ZXlzxl0425
[考研] 一志愿 南京航空航天大学 ,080500材料科学与工程学硕 +7 @taotao 2026-03-30 7/350 2026-04-01 14:30 by chenqifeng666
[硕博家园] 博一被送出联培感觉不适应怎么办 +3 全村的狗 2026-03-31 3/150 2026-04-01 10:44 by 328838485
[考研] 考研调剂求助 +7 13287130938 2026-03-31 7/350 2026-03-31 16:39 by 690616278
信息提示
请填处理意见