OpenCV入門:平滑處理 — 中值濾波
阿新 • • 發佈:2018-12-25
平滑處理 — 中值濾波
相關函式:
C++: void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT)
引數解析:
- src – 支援1、3、4通道圖片輸入,當ksize為3或者5時,圖片的深度只能是CV_8U,,CV_16U,或者 CV_32F,對於其他大孔徑尺寸只支援深度為CV_8U。
- dst – 輸出圖片,和輸入圖片相同大小和深度。
- ksize – 線性直徑大小,只能是一個大於1的奇數,例如:3, 5, 7 ...
相關例項:
#include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> #include"opencv2/imgproc/imgproc.hpp" #include <stdio.h> using namespace cv; /* 中值濾波: void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT) 引數解析: src – 支援1、3、4通道圖片輸入,當ksize為3或者5時,圖片的深度只能是CV_8U,,CV_16U,或者 CV_32F,對於其他大孔徑尺寸只支援深度為CV_8U。 dst – 輸出圖片,和輸入圖片相同大小和深度。 ksize – 線性直徑大小,只能是一個大於1的奇數,例如:3, 5, 7 ... **/ int main() { cvNamedWindow("中值濾波原圖", 0); cvNamedWindow("中值濾波效果圖",0); Mat imageSrc = imread("寒冰射手.jpg"); imshow("中值濾波原圖", imageSrc); Mat imageChange; //中值濾波處理 medianBlur(imageSrc, imageChange, 7); //顯示效果圖 imshow("中值濾波效果圖", imageChange); waitKey(6000 * 100); }
效果圖: