圖像梯度計算


圖像其實就是二元函數 $f(x,y)$,只不過是離散的,圖像梯度就是這個二元離散函數的偏導。計算圖像梯度是一個一個像素點求的。

連續二元函數的偏導數為

$$\frac{\partial f(x,y)}{\partial x} = \lim_{\Delta x\rightarrow 0}\frac{f(x + \Delta x, y) - f(x, y)}{\Delta x} \\
\frac{\partial f(x,y)}{\partial y} = \lim_{\Delta y\rightarrow 0}\frac{f(x, y + \Delta y) - f(x, y)}{\Delta y}$$

但是圖像是離散函數,$\Delta x$ 沒有辦法趨於 $0$,最小只能是間隔 $1$,因此使用有限差分來近似計算梯度。因此,圖像偏導變成了如下形式:

$$\frac{\partial f(x,y)}{\partial x} = f(x + 1, y) - f(x, y) \\
\frac{\partial f(x,y)}{\partial y} = f(x, y + 1) - f(x, y)$$

$x,y$ 表示某個像素的坐標,除了上面這個前向差商外,還可以采用后向差商,中心差商來計算梯度。比如采用中心差商:

$$\frac{\partial f(x,y)}{\partial x} = \frac{f(x + 1, y) - f(x - 1, y)}{2} \\
\frac{\partial f(x,y)}{\partial y} = \frac{f(x, y + 1) - f(x, y - 1)}{2}$$

    

寫成一維卷積的形式等於與 $[-1, 0, 1]$ 這樣一個濾波核作卷積。

對於離散的圖像來說,一階微分的數學表達相當於兩個相鄰像素的差值,根據選擇的梯度算子不同,效果可能有所不同,但是基本原理不會變化。

比如 sobel 算子也可以計算梯度,本質也是通過差分計算,但是用到了前后向序列的信息,同時為每個元素附加權重。

        

       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM