千家信息网

python OpenCV如何实现高斯滤波

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,小编给大家分享一下python OpenCV如何实现高斯滤波,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、高斯滤波 
千家信息网最后更新 2024年11月22日python OpenCV如何实现高斯滤波

小编给大家分享一下python OpenCV如何实现高斯滤波,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、高斯滤波

   高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。 [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)

以上是"python OpenCV如何实现高斯滤波"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0