python OpenCV 实现高斯滤波详解

 更新时间:2021年10月08日 14:16:35   作者:点云侠  
这篇文章主要介绍了Python+OpenCV 实现高斯滤波的过程,关于高斯滤波的解释,它是一种线性平滑滤波,适用于消除高斯噪声,具体实现过程跟随小编一起看看吧

一、高斯滤波

   高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。 [1] 通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

二、C++代码

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

using namespace cv;
using namespace std;

int main()
{
	Mat img = imread("gauss_noise.png");
	
	if (img.empty())
	{
		cout << "请确认图像文件名称是否正确" << endl;
		return -1;
	}
	Mat result_5, result_9;  //存放含噪声滤波的结果,后面数字代表滤波器尺寸
	
	 //调用均值滤波函数blur()进行滤波
	GaussianBlur(img, result_5, Size(5, 5), 0, 0);
	GaussianBlur(img, result_9, Size(9, 9), 0, 0);
	//显示含有高斯噪声图像
	imshow("img_gauss", img);
	//显示去噪结果
	imshow("result_5gauss", result_5);
	imshow("result_9gauss", result_9);
	
	waitKey(0);
	return 0;
}

三、python代码

import cv2


# ----------------------读取图片-----------------------------
img = cv2.imread('gauss_noise.png')
# ----------------------高斯滤波-----------------------------
result_5 = cv2.GaussianBlur(img, (5, 5), 0)  # 5x5
result_9 = cv2.GaussianBlur(img, (9, 9), 0)  # 9x9
# ----------------------显示结果-----------------------------
cv2.imshow('origion_pic', img)
cv2.imshow('5x5_filtered_pic', result_5)
cv2.imshow('9x9_filtered_pic', result_9)
cv2.waitKey(0)

四、结果展示

1、原始图像

在这里插入图片描述

2、5x5卷积

在这里插入图片描述

3、9x9卷积

在这里插入图片描述

到此这篇关于python OpenCV 实现高斯滤波详解的文章就介绍到这了,更多相关Python OpenCV 高斯滤波内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python JSON常用编解码方法代码实例

    Python JSON常用编解码方法代码实例

    这篇文章主要介绍了Python JSON常用编解码方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • python numpy.power()数组元素求n次方案例

    python numpy.power()数组元素求n次方案例

    这篇文章主要介绍了python numpy.power()数组元素求n次方案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python jinjia2的项目使用

    python jinjia2的项目使用

    本文主要介绍了python jinjia2的项目使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 基于Python编写一个监控CPU的应用系统

    基于Python编写一个监控CPU的应用系统

    在使用电脑办公时,有时候不知道哪些软件或进程会占用大量的资源,导致进行其他任务时出现变慢、卡顿等现象。因此,实时监控系统的资源就变得非常重要。本文用Python编写了一款超治愈的RunCat监控应用系统,需要的可以参考一下
    2022-06-06
  • python中将txt文件转换为csv文件的三种方法举例

    python中将txt文件转换为csv文件的三种方法举例

    对于大数据的处理基本都是以CSV文件为基础进行的,那么在进行深度学习的处理之前,需要先统一数据文件的格式,下面这篇文章主要给大家介绍了关于python中将txt文件转换为csv文件的三种方法,需要的朋友可以参考下
    2024-06-06
  • 在python tkinter中Canvas实现进度条显示的方法

    在python tkinter中Canvas实现进度条显示的方法

    今天小编就为大家分享一篇在python tkinter中Canvas实现进度条显示的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python实现简单倒计时功能

    python实现简单倒计时功能

    这篇文章主要为大家详细介绍了python实现简单倒计时功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Python如何使用BeautifulSoup爬取网页信息

    Python如何使用BeautifulSoup爬取网页信息

    这篇文章主要介绍了Python如何使用BeautifulSoup爬取网页信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Python调用百度根据经纬度查询地址的示例代码

    Python调用百度根据经纬度查询地址的示例代码

    今天小编就为大家分享一篇Python调用百度根据经纬度查询地址的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Jupyter Notebook 安装配置与使用详解

    Jupyter Notebook 安装配置与使用详解

    这篇文章主要介绍了Jupyter Notebook 安装配置与使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01

最新评论