opencv 自定義線性濾波

2021-10-16 12:56:35 字數 1781 閱讀 9095

自定義線性濾波

**效果

在學習自定義線性濾波前,需要了解卷積的相關概念

影象中的卷積

最常見的運算元

在邊緣檢測中經常用到,是canny邊緣檢測中重要的一步,通過sobel運算元得到梯度

銳化的掩膜中間是5,拉普拉斯運算元中間是4

拉普拉斯運算元和sobel運算元被用來尋找梯度、尋找影象的邊緣

和掩膜其實是一樣的,只是用的核不一樣

void

filter2d

( inputarray src,

outputarray dst,

int ddepth,

inputarray kernel,

point anchor =

point(-

1,-1

),double delta =0,

int bordertype = border_default

);

一般來說,第三個引數使用-1

第五個引數使用point(-1,-1)來預設錨點為中心

第六個0

第七個不寫,使用預設

#include

#include

using namespace std;

using namespace cv;

intmain()

imshow

("show image"

, src)

;namedwindow

("x img"

, cv_window_autosize)

;namedwindow

("y img"

, cv_window_autosize)

;//卷積核可自己定義,這裡定義的是robert運算元

x,y方向分別更注重他們本方向上的差異

opencv 自定義線性濾波

卷積概念 卷積是影象處理的乙個操作,是依據kernel對影象每個畫素點進行操作,kernel本質上是乙個固定大小的矩陣陣列,其中心為錨點。把kernel放在畫素的陣列之上,求錨點周圍覆蓋的畫素乘積之和 包括錨點 用其來替換錨點下的畫素值。稱之為卷積操作。公式如圖所示。依次對影象進行該操作。常見運算元...

opencv 之自定義線性濾波

通過api進行濾波處理,濾波演算法基本固定,靈活性不大,得到的效果只能在一定範圍內進行動態調整。例如高斯模糊 均值模糊等利用的濾波演算法 影象處理中最基本的就是卷積處理,利用運算元在不停的移動計算產生我們想要的目的影象。自定義濾波演算法的首要做法就是定義運算元 卷積核 常見的運算元 robert運算...

open cv常見運算元與自定義線性濾波

卷積和卷積如何工作,這個是知道的,卷積的作用就是模糊影象 提取邊緣,銳化影象。常見的卷積核 運算元 有robert運算元,sobel運算元,拉普拉斯運算元,前兩個運算元是分x方向和y方向的,而拉普拉斯運算元是提取整體影象的邊緣。卷積概念 卷積是影象處理中乙個操作 是kermel 卷積核 在影象的每個...