通過api進行濾波處理,濾波演算法基本固定,靈活性不大,得到的效果只能在一定範圍內進行動態調整。例如高斯模糊、均值模糊等利用的濾波演算法
影象處理中最基本的就是卷積處理,利用運算元在不停的移動計算產生我們想要的目的影象。自定義濾波演算法的首要做法就是定義運算元(卷積核)常見的運算元:
robert運算元:
[ 10
0−1]
\left [ \begin 1 & 0 \\ 0 & -1 \end \right]
[100−
1]該運算元左上角畫素點減去右下角畫素點,運算元和為0,得出較暗,突出斜方向細節。
[ 01
−10]
\left [ \begin 0 & 1 \\ -1 & 0 \end \right]
[0−11
0]該運算元右上角畫素點減去左下角畫素點,運算元和為0,得出較暗,突出斜方向細節。
sobel運算元:
g x=
[−10
1−20
2−10
1]
gx= \left [ \begin -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \end \right]
gx=⎣⎡
−1−2
−10
001
21⎦
⎤該運算元左邊畫素點減去右邊畫素點,運算元和為0,得出較暗,突出水平方向細節,本行所在運算元乘以2倍,邊緣資訊更強。
g y=
[−1−
2−10
0012
1]
gy= \left [ \begin -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1 \end \right]
gy=⎣⎡
−101
−20
2−1
01⎦
⎤該運算元下邊畫素點減去上邊畫素點,運算元和為0,得出較暗,突出垂直方向細節,本列所在運算元乘以2倍,邊緣資訊更強。
拉普拉斯運算元:
[ 0−
10−1
4−10
−10]
\left [ \begin 0 & -1 & 0 \\ -1 & 4 & -1 \\ 0 & -1 & 0 \end \right]
⎣⎡0−1
0−1
4−1
0−10
⎦⎤
該運算元**畫素點的四倍值減去周圍畫素點,運算元和為0,得出較暗,突出邊緣資訊,亮度大的更大,亮度小的更小。
opencv 自定義線性濾波
卷積概念 卷積是影象處理的乙個操作,是依據kernel對影象每個畫素點進行操作,kernel本質上是乙個固定大小的矩陣陣列,其中心為錨點。把kernel放在畫素的陣列之上,求錨點周圍覆蓋的畫素乘積之和 包括錨點 用其來替換錨點下的畫素值。稱之為卷積操作。公式如圖所示。依次對影象進行該操作。常見運算元...
opencv 自定義線性濾波
自定義線性濾波 效果 在學習自定義線性濾波前,需要了解卷積的相關概念 影象中的卷積 最常見的運算元 在邊緣檢測中經常用到,是canny邊緣檢測中重要的一步,通過sobel運算元得到梯度 銳化的掩膜中間是5,拉普拉斯運算元中間是4 拉普拉斯運算元和sobel運算元被用來尋找梯度 尋找影象的邊緣 和掩膜...
open cv常見運算元與自定義線性濾波
卷積和卷積如何工作,這個是知道的,卷積的作用就是模糊影象 提取邊緣,銳化影象。常見的卷積核 運算元 有robert運算元,sobel運算元,拉普拉斯運算元,前兩個運算元是分x方向和y方向的,而拉普拉斯運算元是提取整體影象的邊緣。卷積概念 卷積是影象處理中乙個操作 是kermel 卷積核 在影象的每個...