花老湿OpenCV学习:均值滤波(简单模糊)

首先介绍一下模板卷积:  

模板卷积是数字图像处理常用的一种邻域运算方式,模板卷积可以实现图像平滑、图像锐化、边缘检测等功能。

        模板可以是一小幅图像,也可以是一个滤波器。

        模板卷积的基本步骤:

     (1)模板在输入图像上移动,让模板中心依次与输入图像的每个像素重合;

      (2)模板系数与跟模板重合的输入图像的对应像素相乘,再将乘积相加;

      (3)把结果赋予输图像,其像素位置与模板中心在输入图像上的位置一致;

      具体过程如下图所示(原图像进行了边界扩展,目的是保持卷积后图像与原图像大小相同):

 

 

在图像模糊中出现的滤波器多数为线性核,也就是说目标图像(x,y处)的像素值由原图像的(x,y)处及其周围的像素点的的值加权相加而来.这个过程可以用下面的方程表示:

      kernel即为滤波器(核),anchor为核的锚点,一般都位于核的中心。

均值滤波

均值滤波,即目标图像中的每个值都是源图像中相应位置一个窗口(核)中像素的平均值。

API介绍如下:

 

代码展示:

#include "pch.h"
#include <iostream>
#include "opencv2/opencv.hpp"

using namespace std;
using namespace cv;

int main()
{
	Mat src = imread("F:\\visual studio\\Image\\women1.jpg");
	if (src.empty())
	{
		cout << "Can't load the image" << endl;
		return -1;
	}
	imshow("src", src);
	Mat dst1;
	blur(src, dst1, Size(5, 5), Point(-1, -1));
	imshow("dst", dst1);
	Mat dst2;
	blur(src, dst2, Size(1, 25), Point(-1, -1));
	imshow("dst2", dst2);
	Mat dst3;
	blur(src, dst3, Size(25, 1), Point(-1, -1));
	imshow("dst3", dst3);
	waitKey(0);
}

效果如图:

优点:算法简单,计算速度快;

缺点:降低噪声的同时使图像产生模糊,特别是景物的边缘和细节部分,像素强度变化变得平缓。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值