1. 程式人生 > >CT之Haar-like&&積分圖

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就構造好了。


後續會把程式碼附上。。。。