1

我有这几行很难理解..

oframes1 = do_localmax(  difofg.octave{o}, 0.8*thresh, difofg.smin  ) ; 
oframes = [oframes1 , do_localmax( - difofg.octave{o}, 0.8*thresh, difofg.smin)] ; 

这里,

  1. do_localmax 是一个函数
  2. thresh 是一个变量
  3. diffofg 也是一个函数

我知道第一行调用函数并传递参数但很难理解第二行以及 diffofg.octave{o} 的语法类型

4

1 回答 1

1

语法上:

difofg不是函数;它是一个变量,可能是一个结构类对象difofg.octave并从该结构/对象中获取名为或difofg.smin的元素。octavesmin

difofg.octave显然是一个单元格数组,并difofg.octave{o}获取该o单元格数组的第 th 个元素。

第二行创建一个包含两个元素的数组:第一个是oframes1,第二个是第二次调用的结果do_localmax。也许这个等效的代码会让发生的事情更清楚:

oframes1 = do_localmax(  difofg.octave{o}, 0.8*thresh, difofg.smin); 
oframes2 = do_localmax( -difofg.octave{o}, 0.8*thresh, difofg.smin);
oframes = [oframes1, oframes2]; 
于 2013-03-23T06:16:05.160 回答