09-图像模糊(一)
模糊原理
- Smooth/Blur是图像处理中最简单和常用的操作之一
- 使用该操作的目的之一是为了在图像预处理时降低噪声
- 使用Smooth/Blur操作背后的数学卷积计算是 g(i,j)=∑k,lf(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;
}