图像高斯模糊和均值模糊

模糊原理:

  1. 模糊原理和上几节说的图像掩模矩阵有很多相似的地方,都是拿一个矩阵(3X3, 5X5)等,和原图从左向右从上到下分别进行卷积,将卷积值最后赋值个当前卷积的中心像素。

  2. 那么其最关键的参数,也就在于矩阵的大小和矩阵的值,我们通常称矩阵为卷积核。

  3. 模糊操作的重要原因之一也是为了给图像预处理时降低噪声。


均值模糊:
均值模糊,也称为均值滤波,相当于卷积核的矩阵值全部为1/(卷积SIZE),如下图所示:
在这里插入图片描述
均值模糊API:

在这里插入图片描述

高斯模糊:越靠近卷积核的领域权重越大。
均值模糊:领域权重都为1。
而无论是高斯模糊或者是均值模糊,有一个缺点是他们在模糊的时候并不能很好的保留
边缘信息。因此双边滤波便很好客服了这一缺陷。原理如图:

在这里插入图片描述

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main() {
	Mat src, gblur,dst;
	src = imread("C:/Users/Luyubo/Pictures/Lena.jpg");
	if (!src.data) {
		printf("could not load image...\n");
		return -1;
	}
	namedWindow("input image", CV_WINDOW_AUTOSIZE);
	imshow("input image", src);
	
	//gaussian blur
	GaussianBlur(src, gblur, Size(11, 11), 11, 11);
	namedWindow("gaussian blur", CV_WINDOW_AUTOSIZE);
	imshow("gaussian blur", gblur);
	//medianBlur(src, dst, 3);
	//双边滤波
	bilateralFilter(src, dst, 15, 100, 5);
	namedWindow("BiBlur Filter Result", CV_WINDOW_AUTOSIZE);
	imshow("BiBlur Filter Result", dst);

	//Mat resultImg;
	//Mat kernel = (Mat_<int>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
	//filter2D(dst, resultImg, -1, kernel, Point(-1, -1), 0);
	//imshow("Final Result", resultImg);

	waitKey(0);
	return 0;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值