纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

Python OpenCV 高斯滤波 python OpenCV 实现高斯滤波详解

点云侠   2021-10-08 我要评论
想了解python OpenCV 实现高斯滤波详解的相关内容吗点云侠在本文为您仔细讲解Python OpenCV 高斯滤波的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Python,OpenCV,高斯滤波,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条形码和二维码 python中扫描条形码和二维码的实现代码

    想了解python中扫描条形码和二维码的实现代码的相关内容吗帅boy的博客在本文为您仔细讲解python条形码和二维码的相关知识和一些Code实例欢迎阅读和指正我们先划重点:python条形码和二维码,python扫描条形码下面大家一起来学习吧。..
  • Python GUI编程 Python GUI编程详解

    想了解Python GUI编程详解的相关内容吗Harris-H在本文为您仔细讲解Python GUI编程的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Python,GUI,GUI编程下面大家一起来学习吧。..

网友评论

Copyright 2020 www.Videogametimes.com 【视游时光】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式