OpenCV 濾波操作

2021-08-30 15:31:17 字數 1605 閱讀 8112

**:

濾波處理分為兩大類:線性濾波和非線性濾波。opencv裡有這些濾波的函式,使用起來非常方便,現在簡單介紹其使用方法。

線性濾波:方框濾波、均值濾波、高斯濾波

方框濾波

均值濾波

均值濾波就是方框濾波的乙個特殊情況。

均值濾波的缺點就是不能很好地保護細節,在影象去燥的同時也破壞了影象的而細節部分,從而使影象變得模糊,不能很好的去除噪點。

#include#includeusing namespace std;

using namespace cv;

int main()

高斯濾波

高斯濾波,可以消除高斯雜訊,廣泛應用於影象處理的減噪過程。

#include#includeusing namespace std;

using namespace cv;

int main()

從效果看出,高斯濾波的而模糊感明顯降低

非線性濾波:中值濾波、雙邊濾波

中值濾波

基本思想就是用畫素點的領域灰度的中值來代替該畫素點的灰度值,該方法在去除脈衝雜訊、椒鹽雜訊的同時又能保留影象的細節(不會出現邊緣模糊的情況)

中值濾波跟均值濾波的思想看起來很相似,只是乙個取平均值,乙個取中位數而已

#include#includeusing namespace std;

using namespace cv;

//中值濾波

現在說說中值濾波與均值濾波的比較:均值濾波中雜訊成分會被加入到平均計算,所以輸出是受到雜訊的影響的。但是中值濾波中,由於雜訊成分很難選上,所以基本不影響輸出。當然好的效能也需要付出一點代價的,中值濾波花費的時間是均值濾波的5倍以上。

中值濾波一般採用奇數的卷積核。

中值濾波對一些細節多(特別是細、尖頂的)的影象不太適合。

雙邊濾波

雙邊濾波的最大特點就是做邊緣儲存。

#include#includeusing namespace std;

using namespace cv;

//雙邊濾波

int main()

效果圖看來,雙邊濾波是所有濾波中最清晰的。

opencv濾波 腐蝕 膨脹操作

1 均值濾波 簡單的平均卷積操作 blur cv2.blur img,3,3 3,3 為卷積核大小 2 方框濾波 基本和均值濾波一樣,可以選擇歸一化 box cv2.boxfilter img,1,3,3 normolize true normolize true表示卷積操作後除以9,也就是歸一化 ...

opencv學習筆記(四) 濾波操作

模糊 void boxfilter inputarray src,輸入影象 outputarray dst,輸出影象 int ddepth,影象深度,1指原圖深度 size ksize,卷積核大小 如size 3,3 point anchor point 1,1 瞄點 被平滑的那個點 boolnor...

OpenCV探索之路(三) 濾波操作

濾波處理分為兩大類 線性濾波和非線性濾波。opencv裡有這些濾波的函式,使用起來非常方便,現在簡單介紹其使用方法。線性濾波 方框濾波 均值濾波 高斯濾波 方框濾波 均值濾波 均值濾波就是方框濾波的乙個特殊情況。均值濾波的缺點就是不能很好地保護細節,在影象去燥的同時也破壞了影象的而細節部分,從而使影...