CT之Haar-like&&積分圖
一、Haar-like
1、簡述:Haar-like被提出時用於人臉識別,通過計算Haar特徵值來表示影象灰度值的變化,常見的矩形特徵只能表徵一些簡單的圖形,對邊緣、線段比較敏感。通常分為三類:邊緣特徵,線性特徵,中心特徵和對角特徵。
2.在上圖中,我們把每個圖稱為特徵模板。我們對Haar特徵值的定義是:一幅影象中所有白色區域的畫素的和減去所有黑色區域畫素的和。Haar特徵也是基於灰度圖的
我們把特徵模板放在我們要處理的影象上,改變特徵模板的大小和位置,以此來獲取特徵值。
注意:對於2-(a)的特徵值的計算:v=sum(白)-2*sum(黑) 乘上2的目的是保證黑白畫素個數保持一致
ps:opencv中有封裝的HAAR 和 adaboost
二、積分圖
目的(和Haar的關係):加快Haar特徵值的計算速度
1、構造積分圖
積分圖的構造方式是位置(i,j)處的值ii(i,j)是原影象(i,j)左上角方向所有畫素的和:
1)用s(i,j)表示行方向的累加和,初始化s(i,-1)=0;
2)用ii(i,j)表示一個積分影象,初始化ii(-1,i)=0;//保證影象區域外的畫素值都是0
3)逐行掃描影象,遞迴計算每個畫素(i,j)行方向的累加和s(i,j)和積分影象ii(i,j)的值
s(i,j)=s(i,j-1)+f(i,j) //f(i,j)位置上的畫素值加上他左邊的所有畫素值
ii(i,j)=ii(i-1,j)+s(i,j) //這一行上面所行的畫素加上這一行的畫素 列數小於等於j
4)掃描影象一遍,當到達影象右下角畫素時,積分影象ii就構造好了。
後續會把程式碼附上。。。。