图形算法与实战:1.滤波专题 (1)均值滤波


本文作者:图像与视觉InSight 行者 杨尚朋 转载请注明

1.1 处理效果展示

背单词始于abandon,刷leetcode以two sum为起点,图像算法从均值滤波出发。

图像处理前后对比1

处理前处理后

图像处理前后对比2

处理前
处理后

1.2 滤波算法原理

在这里插入图片描述
均值滤波算法,是与去除图像噪声有关的算法。图像噪声在图像上的表现为多余的、破坏性的点、线或者区域,噪声的存在对原始图像噪声了干扰或者破坏,因此去除图像噪声具有重要的意义。

上图为3×3的内核(也可看做窗口,或者模版)。该内核包含了9个点及对应像素值。在对该区域进行滤波过程为:对P1~P9九个像素的灰度值求平均,代替P5的灰度值。该过程也是均值滤波的原理。

1.3 代码分享

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

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
	Mat src, dst;
	src = imread("C:\\Users\\SYYSP\\Desktop\\BLOG\\滤波专题\\均值滤波\\ziyi.jpg");
	if (!src.data)
	{
		printf("could not load image3...\n");
		return -1;
	}
	//定义窗口名称
	char input_title[] = "输入图片";
	char output_title[] = "均值滤波";
	//新建窗口
	namedWindow(input_title, CV_WINDOW_AUTOSIZE);
	namedWindow(output_title, CV_WINDOW_AUTOSIZE);

	imshow(input_title, src);//原图显示
	//均值滤波操作
	blur(src, dst, Size(15, 15), Point(-1, -1));//均值滤波,Size里面都要奇数,正数。内核内数值分别表示宽,高。Point(-1,-1)表示锚点,一般取-1,表示锚点在核中心。
	imshow(output_title, dst);

	imwrite("C:\\Users\\SYYSP\\Desktop\\BLOG\\滤波专题\\均值滤波\\ziyi_meanfilterResult.jpg", dst);

	waitKey(0);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_32391345/article/details/106718592
今日推荐