(转载)计算机视觉、图像处理中常见的滤波操作
前言:計算機視覺是讓計算機理解圖像與視頻,本系列博客的目的在于加深自己在學習計算機視覺過程中對相關知識理解與回顧。其中很多內容參照:教材《ComputerVision: Algorithms and Applications》,教材《Learning Image Processing with OpenCV》工具書《LearningOpenCV》,國外大學的課程《Computer Vision》和課程《ComputerVision》。
圖像濾波既可以在實域進行,也可以在頻域進行。圖像濾波可以更改或者增強圖像。通過濾波,可以強調一些特征或者去除圖像中一些不需要的部分。濾波是一個鄰域操作算子,利用給定像素周圍的像素的值決定此像素的最終的輸出值。(個人認為《LearningImage Processing with OpenCV》中這一段寫的很好:Image filtering is a process to modify or enhance images.Emphasizing certain features or removing others in an image are examples ofimage filtering. Filtering is a neighborhood operation. The neighborhood is aset of pixels around a selected one. Image filtering determines the outputvalue of a certain pixel located at a position (x,y) by performing someoperations with the values of the pixels in its neighborhood.)圖像濾波可以通過公式:
進行計算,其中K為濾波器,在很多文獻中也稱之為核(kernel)。常見的應用包括去噪、圖像增強、檢測邊緣、檢測角點、模板匹配等。其中用于平滑圖像的常見濾波算子包括(Code:https://github.com/opencv/opencv/blob/master/samples/cpp/tutorial_code/ImgProc/Smoothing.cpp):
均值濾波(normalized box filter):用其像素點周圍像素的平均值代替元像素值,在濾除噪聲的同時也會濾掉圖像的邊緣信息。在OpenCV中,可以使用boxFilter和blur函數進行均值濾波。均值濾波的核為:
高斯濾波(Gaussian filter):高斯濾波為最常用的濾波器,具有可分離性質,可以把二維高斯運算轉換為一維高斯運算,其本質上為一個低通濾波器。在OpenCV中可通過函數GaussianBlur進行操作。
中值濾波(median filter):中值濾波用測試像素周圍鄰域像素集中的中值代替原像素。中值濾波去除椒鹽噪聲和斑塊噪聲時,效果非常明顯。在OpenCV中,可以使用函數medianBlur進行操作。
雙邊濾波(bilateral filter):雙邊濾波在平滑圖像時能夠很好的保留邊緣特性,但是其運算速度比較慢。在OpenCV中,可以使用函數bilateralFilter進行操作。
除了平滑去噪,圖像銳化,求邊緣等也是常見的圖像濾波應用。這類濾波器常常使用一節或者二階差分(或微分,對于數字圖像而言,其為離散信號,長用差分代替導數)核算子對圖像進行濾波。一節差分常用于求取圖像邊緣。二階差分常用于圖像增強。常用的這類算子包括:
Sobel operator:Sobel算子通過計算水平和垂直方向上的一節差分來進行計算。在OpenCV函數中,可通過使用Sobel函數進行計算。
Laplacian operator:Laplacian算子通過計算二階差分(微分)來進行計算。在OpenCV函數中,可通過使用Laplacian函數進行計算。
除了上面列舉的較為經典的濾波器(或者說是核算子)外,在OpenCV中也可以自己定義自己的濾波器,然后使用filter2D函數進行運算。
對于以上在實域進行濾波的濾波器來說,邊界問題是一個不得不考慮的事情。通常有以下幾種辦法來進行處理:
(black) (wrap around) (copy edge) (reflectacross edge)
除了在實域進行濾波之外,在頻域也可以進行濾波。傅里葉變換保存每個頻率對于的幅度和相位信息,其中幅度表示在某個特定的頻率信號有多少信號。相位則表示信號的空間信息,主要指方向信息。
在頻域中濾波主要就是設計相應的低通、高通或者帶通等濾波器以實現保留某些頻率,濾除其余頻率的目的。此外在實域中的卷積運算可以放到頻域中做乘積運算,可以降低運算復雜度。
總結
以上是生活随笔為你收集整理的(转载)计算机视觉、图像处理中常见的滤波操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vb6.0服务器组件安装失败,win10
- 下一篇: taylor+swift纽约公寓_国际巨