09 OpenCV模糊圖像2(中值濾波與雙邊濾波)

一、中值濾波

  • 統計排序濾波器
  • 中值濾波對椒鹽噪聲有很好的抑制作用

在這裏插入圖片描述

二、雙邊濾波

  • 由於均值濾波是基於平均權重,故其無法克服邊緣像素信息丟失缺陷
  • 高斯模糊克服了該缺陷,但由於沒有考慮像素值的不同,無法完全避免
  • 高斯雙邊模糊是邊緣保留的濾波方法,避免了邊緣信息丟失,保留了圖像輪廓不變

在這裏插入圖片描述

三、相關API

  • 中值模糊
medianBlur(Mat src,Mat dst,ksize); // 注 ksize大小必須是大於1而且必須是奇數
  • 雙邊模糊
bilateralFilter(src,dst,d = 15,150,3);//15 計算的半徑,半徑之內的像素都會被納入計算,如果爲-1則根據sigma space參數取值  150 sigma color 決定多少差值之內的像素會被計算  3 sigma space 如果d的值大於0則聲明無效,否則根據它來計算d值

四、示例

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

int main()
{
	Mat src, dst;
	src = imread("images/10.png");
	if (!src.data) {
		cout << "could not load image1..." << endl;
		return -1;
	}
	namedWindow("input_image", CV_WINDOW_AUTOSIZE);
	imshow("input_image", src);

	//blur(src, dst, Size(11, 11), Point(-1, -1));
	//imshow("blur image1", dst);

	//GaussianBlur(src, dst, Size(11, 11), 11, 11);
	//imshow("blur image2", dst);

	medianBlur(src, dst, 3);
	imshow("median filter result", dst);

	bilateralFilter(src, dst, 15, 150, 3);
	imshow("bilateralFilter result", dst);

	waitKey();
	return 0;
}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章