乙個最重要並且最基本的卷積是導數的計算(或者是其近似值)。
用來表達微分的最常用的操作是sobel微分運算元。sobel運算元包含任意階的微分及融合偏導。sobel導數可以定義任意大小的核,而且這些核可以用快速且迭代的方式構造,大核對導數有更好的逼近,因為小核對雜訊更敏感。
必須認識到,sobel導數並不是真正的導數,因為sobel運算元定義在乙個離散的空間上。sobel運算元真正表示的是多項式擬合。
以3×3的模板為例:
函式形式:srcvoid cvsobel( const cvarr* src, cvarr* dst, int xorder, int yorder, int aperture_size=3 );
輸入影象.
dst
輸出影象.
xorder
x 方向上的差分階數
yorder
y 方向上的差分階數
aperture_size
引數是方形濾波器的寬(或高)並且應該是奇數。目前支援1,3,5,7.
xorder和yorder通常只可能用到0,1,最多2。
例項**:
#include
#include
int main(int argc, char** argv)
執行結果如下:![](https://pic.w3help.cc/605/e3791a29520790d22b8d13b7a2977.jpeg)
注意:如果源影象是8位的,為避免溢位,目標影象的深度必須是ipl_depth_16s。但是,影象顯示是以8位無符號顯示的,現在是16位有符號的,所以我們需要將16位的再轉換為8位的來顯示,可以使用函式cvconvertscaleabs()進行轉換,然後再顯示即可。
方向導數和梯度
之前用過幾次梯度下降演算法來求解一些優化問題,但對梯度的具體意義並不是很理解。前一段時間翻了一遍高教的 簡明微積分 對梯度概念總算有了些理解,在這記錄一下。推薦下 簡明微積分 這本書,我向來對帶有 簡明 二字的書抱有極大的好感。偶然的機會在豆瓣上看到有人推薦這本書,作者是龔公升先生。龔公升先生是中國...
方向導數和梯度
我覺得我有必要把工數再看一遍 都忘記了 在微積分課程中,我們知道函式在某一點的導數 微商 代表了函式在該點的變化率。微分和積分,它們的定義都是建立在極限的基礎上。對於單變數函式f x 它在x0處導數是 當x趨近於x0時,函式的改變量與自變數的改變量的比值的極限,即微商 導數 等於差商的極限 f x0...
方向導數和梯度
之前用過幾次梯度下降演算法來求解一些優化問題,但對梯度的具體意義並不是很理解。前一段時間翻了一遍高教的 簡明微積分 對梯度概念總算有了些理解,在這記錄一下。推薦下 簡明微積分 這本書,我向來對帶有 簡明 二字的書抱有極大的好感。偶然的機會在豆瓣上看到有人推薦這本書,作者是龔公升先生。龔公升先生是中國...