1. 程式人生 > >opencv之GaussianBlur()函式

opencv之GaussianBlur()函式

opencv之GaussianBlur()函式

2018年04月17日 16:42:50 duwangthefirst 閱讀數:1507 標籤: opencvGaussianFilter高斯濾波影象去噪影象平滑 更多

個人分類: OpenCV

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/duwangthefirst/article/details/79971338

概述

GaussianBlur()函式用高斯濾波器(GaussianFilter)對影象進行平滑處理。 
該函式將源影象與指定的高斯核心進行卷積,同時也支援in-place濾波。

API說明

C++ API:

void cv::GaussianBlur ( InputArray src, (原始影象:channels不限,各通道單獨處理;depth應當是CV_8U,CV_16U,CV_16S,CV_32F或CV_64F)
    OutputArray dst, (目標影象:與原始影象size和type一致)
    Size ksize
,
(高斯核大小,ksize.width和ksize.height可以不同,但是都必須為正的奇數(或者為0,此時它們的值會自動由sigma進行計算))
    double sigmaX, (高斯核在x方向的標準差)
    double sigmaY=0, (高斯核在y方向的標準差(sigmaY=0時,其值自動由sigmaX確定(sigmaY=sigmaX);sigmaY=sigmaX=0時,它們的值將由ksize.width和ksize.height自動確定))
    int borderType=BORDER_DEFAULT (畫素外插策略,可參考BorderTypes
  )      

python API:

       
dst = cv.GaussianBlur( src, ksize, sigmaX[, dst[, sigmaY[, borderType]]]

功能說明

關於引數ksize:

  • ksize.width和ksize.height可以不同
  • 取值有2種情況: 
    • 可以是正的奇數
    • 也可以是0,此時它們的值會自動由sigma進行計算

關於引數sigmaX和sigmaY:

  • sigmaY=0時,其值自動由sigmaX確定(sigmaY=sigmaX);
  • sigmaY=sigmaX=0時,它們的值將由ksize.width和ksize.height自動確定;

相關函式

sepFilter2D 
filter2D 
blur 
boxFilter 
bilateralFilter 
medianBlur

官網樣例

laplace.cpp 
Smoothing.cpp 
Sobel_Demo.cpp.

附錄