python|python OpenCV 实现高斯滤波详解
目录
- 一、高斯滤波
- 二、C++代码
- 三、python代码
- 四、结果展示
- 1、原始图像
- 2、5x5卷积
- 3、9x9卷积
一、高斯滤波 ? ?高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。 [1] 通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
二、C++代码
#include#include 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)# 5x5result_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卷积

文章图片
【python|python OpenCV 实现高斯滤波详解】
3、9x9卷积

文章图片
到此这篇关于python OpenCV 实现高斯滤波详解的文章就介绍到这了,更多相关Python OpenCV 高斯滤波内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Java|Java OpenCV图像处理之SIFT角点检测详解
- Node.js中readline模块实现终端输入
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum