本文作者:图像与视觉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;
}