1. 程式人生 > >OpenCV入門:平滑處理 — 中值濾波

OpenCV入門:平滑處理 — 中值濾波

平滑處理 — 中值濾波

相關函式:


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);
}

效果圖: