OpenCV图像处理09-图像模糊(一)

2021-03-04 10:47:14 浏览数 (3)

09-图像模糊(一)

模糊原理

  • Smooth/Blur是图像处理中最简单和常用的操作之一
  • 使用该操作的目的之一是为了在图像预处理时降低噪声
  • 使用Smooth/Blur操作背后的数学卷积计算是 g(i,j)=∑k,l​f(i k,j l)h(k,l),其中 h(k,l) 为卷积算子(卷积核/掩膜) 例如:
  • 通常这些卷积算子计算都是线性操作,故又叫做线性滤波
  • 均值滤波原理

相关API

代码演示

代码语言:javascript复制
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;

int main() {
	Mat src = imread("D:\heroRcData\opencvProject\arrowImg\02\01.jpg");
	if (!src.data) {
		cout << "could not load image..." << endl;
		return -1;
	}
	namedWindow("input image", CV_WINDOW_AUTOSIZE);
	imshow("input image", src);
	//**************************************************
	//均值滤波
	Mat dst_blur;
	blur(src, dst_blur, Size(5, 5), Point(-1, -1));
	string blur_window = "blur image";
	namedWindow(blur_window, CV_WINDOW_AUTOSIZE);
	imshow(blur_window, dst_blur);

	//**************************************************
	//高斯滤波
	Mat dst_Gauss;
	GaussianBlur(src, dst_Gauss, Size(5, 5), 11, 11);
	string Gauss_window = "Gauss image";
	namedWindow(Gauss_window, CV_WINDOW_AUTOSIZE);
	imshow(Gauss_window, dst_Gauss);

	waitKey(0);
	return 0;
}

1 人点赞