四種Block Match演算法

2021-07-11 07:18:52 字數 2133 閱讀 6284

塊匹配block match演算法常用於雙目立體匹配和幀間距離匹配上,特點是實現步驟簡單,這裡介紹四種基本的block match演算法:

1.sum of absolute differencse(sad)公式如下:

c++實現**:

mat funcsadr2l(mat leftimage, mat rightimage, int windowsize, int dispmin, int dispmax, int step = 1)

sad = sad + temp;}}

}if (prevsad > sad)

}dispmap.at(i, j) = bestmatchsofar;

} }normalize(dispmap, dispmap, 0, 255, cv_minmax);

return dispmap;

}

2.sum of squared differences(ssd)公式如下:

c++實現**:

mat funcssdr2l(mat leftimage, mat rightimage, int windowsize, int dispmin, int dispmax, int step = 1)}}

if (prevsdd > ssd)

}dispmap.at(i, j) = bestmatchsofar;

} }normalize(dispmap, dispmap, 0, 255, cv_minmax);

return dispmap;

}

3.sum of hamming distances(shd)公式如下:

bit()的含義是畫素轉為二進位制後含有多少個1,整個公式意思就是兩張區域性圖先異或一下,然後統計所有畫素二進位製化後1的個數,取最少的那個就行了。

c++實現**:

mat funcshdr2l(mat leftimage, mat rightimage, int windowsize, int dispmin, int dispmax,int step = 1)

}int dis = 0;

for (int m = 0; m < leftwindow.rows; m++)

}if (disprange == 0)

min = dis;

else if (min > dis)}}

dispmap.at(i, j) = position;

} }normalize(dispmap, dispmap, 0, 255, cv_minmax);

return dispmap;

}

4.normalized cross correlation(ncc)公式如下:

c++實現**:

mat funcnccr2l(mat leftimage, mat rightimage, int windowsize, int dispmin, int dispmax, int step = 1)

}nccdenominator = sqrt(nccdenominatorrightwindow*nccdenominatorleftwindow);

ncc = nccnumberator / nccdenominator;

if (prevncc < ncc)

}dispmap.at(i, j) = bestmatchsofar;

} }normalize(dispmap, dispmap, 0, 255, cv_minmax);

return dispmap;

}

Sort List(四種演算法)

sort a linked list in o nlog n time using constant space complexity.演算法一 快速排序。因為鍊錶是單向,所以有很多細節要注意,比如quick sort p,r 排序的區間其實是 p next,r next 因為單向鍊錶不能回頭。de...

排序演算法(四種)

氣泡排序是非常容易理解和實現,以從小到大排序舉例 設陣列長度為n。氣泡排序從前往後遍歷和從後往前遍歷一樣的原理。目標陣列 3,5,2,6,4,9,7,12,11 從前往後 第一波 從第乙個數開始,如果第乙個數大於第二個數,就把這兩個數調換位置,否則保留之前的排列,第二次把第二個和第三個數比較,比較方...

四種洗牌演算法

官方點的話如下 fisher yates shuffle 演算法思想就是從原始陣列中隨機抽取乙個新的數字到新陣列中。演算法描述如下 1.從還沒處理的陣列 假如還剩k個 中,隨機產生乙個 0,k 之間的數字p 假設陣列從0開 始 2.從剩下的k個數中把第p個數取出 3.重複步驟2和3直到數字全部取完 ...