【OpenCV API 指南】影象濾波
1. 函式原型:
void blur(InputArray src, OutputArray dst, Size ksize, Point anchor=Point(-1,-1), int borderType=BORDER_DEFAULT )
引數說明:
- src – 輸入影象.
- dst – 輸出影象.
- ksize –模糊核大小.
- anchor – 原點位置,Point(-1,-1)表示原點在中間.
- borderType – 邊界使用的影象外部外插畫素模式.
數學原理:
注:blur(src, dst, ksize, anchor, borderType)等價於boxFilter(src, dst, src.type(), anchor, true, borderType)
2. 函式原型:
void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT )
引數說明:
3. 函式原型:
void boxFilter(InputArray src, OutputArray dst, int ddepth, Size ksize, Point anchor=Point(-1,-1), bool normalize=true, int borderType=BORDER_DEFAULT )
- src –輸入影象.
- dst – 輸出影象.
- ksize – 高斯核大小. 長和寬必須為奇數.
- sigmaX – X方向的標準差.
- sigmaY – Y方向的標準差.
- borderType – 邊界使用的影象外部外插畫素模式.
引數說明:
數學原理:
- src – 輸入影象.
- dst – 輸出影象.
- ddepth – 輸出影象型別.
- ksize – 核的大小.
- anchor – 原點位置,Point(-1,-1)表示原點在中間.
- normalize – 是否歸一化.
- borderType –邊界使用的影象外部外插畫素模式.
4. 函式原型:
void medianBlur(InputArray src
引數說明:
- src – 輸入影象.
- dst – 輸出影象.
- ksize – 核大小,且必須為奇數,比如1,3, 5, 7 ...
5. 函式原型:
void Sobel(InputArray src, OutputArray dst, int ddepth, int dx, int dy, int ksize=3, double scale=1, double delta=0, int borderType=BORDER_DEFAULT )
引數說明:
- src – 輸入影象.
- dst – 輸出影象.
- 資料型別如下–:
- src.depth() = CV_8U, ddepth = -1/CV_16S/CV_32F/CV_64F
- src.depth() = CV_16U/CV_16S, ddepth = -1/CV_32F/CV_64F
- src.depth() = CV_32F, ddepth = -1/CV_32F/CV_64F
- src.depth() = CV_64F, ddepth = -1/CV_64F
當ddepth=-1,輸出影象和源影象型別相同;當是8-bit影象時,導數會被截斷.
- xorder – x導.
- yorder – y導.
- ksize – 核大小.
- scale – 可選尺度因子;預設情況下不使用.
- delta – 可選delta值.
- borderType – 邊界使用的影象外部外插畫素模式.
6. 函式原型:
void Laplacian(InputArray src, OutputArray dst, int ddepth, int ksize=1, double scale=1, double delta=0, int borderType=BORDER_DEFAULT )
引數說明:
- src – 輸入影象.
- dst –輸出影象.
- ddepth – 資料型別.
- ksize – 核大小.
- scale – 可選尺度因子;預設情況下不使用.
- delta – 可選delta值.
- borderType –邊界使用的影象外部外插畫素模式.