24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 351  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 288求调剂,一志愿华南理工大学071005 +4 ioodiiij 2026-04-04 4/200 2026-04-04 22:49 by barlinike
[考研] 求调剂 +7 xzghyuj 2026-04-04 7/350 2026-04-04 22:25 by oooqiao
[考研] 可跨专业调剂 +3 周的得地 2026-04-04 6/300 2026-04-04 22:21 by barlinike
[考研] 296材料专硕求调剂 +21 202451007219 2026-04-02 22/1100 2026-04-04 21:48 by hemengdong
[考研] 材料调剂 +12 一样YWY 2026-04-02 13/650 2026-04-04 20:49 by 蓝云思雨
[考研] [调剂信息]085408光电信息 求调剂 总分291分数一英一 +3 iz11az 2026-04-02 3/150 2026-04-04 19:09 by 蓝云思雨
[考研] 329求调剂 +13 miaodesi 2026-04-02 15/750 2026-04-04 18:14 by jj987
[考研] 复试调剂 +6 范根培 2026-04-04 6/300 2026-04-04 14:27 by 土木硕士招生
[考研] 292求调剂 +21 是妍子也是研子 2026-03-30 22/1100 2026-04-03 21:44 by qlm5820
[考研] 调剂 +5 asdasdassda 2026-04-03 6/300 2026-04-03 20:27 by 岸上的一条鱼
[考研] 材料与化工调剂一志愿大连海事085600,349 +11 吃的不少 2026-03-30 11/550 2026-04-03 18:05 by Jimmyandyou
[考研] 320求调剂 +5 振—TZ 2026-04-02 5/250 2026-04-03 14:42 by fxue1114
[考研] 机械专硕297 +3 Afksy 2026-04-03 3/150 2026-04-03 14:24 by 1753564080
[考研] 08工科,295,接受跨专业调剂 +8 lmnlzy 2026-03-30 8/400 2026-04-03 13:08 by nalakaiqi
[考研] 309求调剂 +14 呆菇不是戴夫 2026-04-02 14/700 2026-04-03 09:42 by 蓝云思雨
[考研] 交通运输考试264分求工科调剂 +4 jike777 2026-04-02 4/200 2026-04-02 21:53 by zllcz
[考研] 362求调剂 +14 西南交材料专硕3 2026-03-31 14/700 2026-04-02 17:50 by yunlongyang
[考研] 264分,求任意工科调剂 +4 zzlqwq 2026-03-29 5/250 2026-04-02 17:17 by 何曾几何
[考研] 286分调剂 +20 Faune 2026-03-30 22/1100 2026-04-02 13:24 by clyblh
[考研] 11408 321分求调剂 +3 huchun12138 2026-03-30 4/200 2026-04-01 22:48 by guanxin1001
信息提示
请填处理意见