2014-04-19 18 views
2

我看了很多文章,並回答了關於Viola-Jones算法真正起作用的問題。我一直在找到答案,說某個區域的「像素總和」減去相鄰區域中的「像素總和」。我對「像素總和」意味着什麼感到困惑。什麼是基於價值?這是該地區的像素數量嗎?顏色的強度?Viola-Jones算法 - 「像素總和」?

在此先感謝。

+0

不,它是[整數](http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html#integral)圖片 – berak

+0

是不是整體圖像的值由上方和某個位置左側的像素?像素的總和是多少? – user3314295

+0

是的,是的。 (我可能誤解了你的問題)上面和左邊的像素總數(強度) – berak

回答

3

這些是基於堇菜 - 瓊斯紙張上'Robust Real-time Object Detection '

積分圖像的:在位置X,Y = II(X,Y)

ii(x,y) = > Sum of the pixels above and to the left of x, y inclusive 

這裏積分圖像(II)' 的定義像素總和「意指在像素(x,y)的上方和左側的每個像素元素處的像素強度值(例如,對於8位灰度級圖像,0和255之間的值)的總和,並且包括行/列x和y,考慮表示中的灰度圖像。

積分圖像的意義在於,它加速了任何矩形像素塊內像素強度之和的計算。例如四個數組引用。

並通過本身在由II(X,Y)給定的每個點處的積分圖像值可以在一個傳過來的原始圖像來計算I(X,Y)

使用上的各點在下面的方程中如在參考紙中詳述的通:

s(x,y) = s(x,y-1) + i(x,y); 

ii(x,y) = ii(x-1,y) + s(x,y); 

其中

s(x,y) = the cumulative row sum; 
s(x,-1) = 0; 
ii(-1,y) = 0; 

這些積分圖像值隨後用來生成特徵學習和後來檢測OB jects。

1

最初的Viola-Jones算法使用「Haar-like」特徵,它們是第一和第二高斯導數濾波器的近似值。

高斯濾波器是這樣的:enter image description here

類Haar 濾波器是這樣的: enter image description here

原因Viola和Jones使用類Haar過濾器,是它們可以非常有效地評價。您只需從白色區域覆蓋的像素總和中減去濾鏡黑色區域覆蓋的像素總和即可。並且由於區域是矩形的,因此可以從對應的積分圖像有效地計算每個區域中的像素的總和。