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

09-图像模糊(一)

模糊原理

  • Smooth/Blur是图像处理中最简单和常用的操作之一

  • 使用该操作的目的之一是为了在图像预处理时降低噪声

  • 使用Smooth/Blur操作背后的数学卷积计算是

    g ( i , j ) = ∑ k , l f ( i + k , j + l ) h ( k , l ) g(i,j) = \sum _{k,l}f(i+k,j+l)h(k,l) g(i,j)=k,lf(i+k,j+l)h(k,l),其中 h ( k , l ) h(k,l) h(k,l) 为卷积算子(卷积核/掩膜)

    例如:
    在这里插入图片描述

  • 通常这些卷积算子计算都是线性操作,故又叫做线性滤波

  • 均值滤波原理

    K = 1 K w e i g h t K h e i g h t ∣ 1 1 ⋯ 1 1 1 ⋯ 1 ⋮ ⋮ ⋱ ⋮ 1 1 ⋯ 1 ∣ K=\frac{1}{K_{weight}{K_{height}}}\left| \begin{matrix} 1 & 1 & \cdots & 1\\ 1 & 1 & \cdots & 1\\ \vdots & \vdots & \ddots & \vdots \\ 1 & 1 & \cdots & 1\\ \end{matrix} \right| K=KweightKheight1111111111

  • 高斯滤波原理

    G 0 ( x , y ) = A e − ( x − μ x ) 2 2 σ x 2 + − ( y − μ y ) 2 2 σ y 2 G_0(x,y)=Ae^{\frac{-(x-\mu_x)^2}{2{\sigma_x}^2}+\frac{-(y-\mu_y)^2}{2{\sigma_y}^2}} G0(x,y)=Ae2σx2(xμx)2+2σy2(yμy)2

相关API

  • 均值模糊

    blur(Mat src, Mat dst, Size(xradius,yradius),Point(-1,-1));
    //Size(xradius,yradius)表示窗口在x,y两个方向上的长度,必须为正奇数
    //Point(-1,-1)表示窗口中心
    
  • 高斯模糊

    GaussianBlur(Mat src, Mat dst, Size(3,3), double sigmaX, double sigmaY);
    //其中Size(xradius,yradius)中xradius,yradius表示窗口在x,y两个方向上的长度,必须为正奇数
    //SigmaX和SigmaY为上述原理公式中的两个参数值
    

代码演示

#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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值