OpenCV-python 实现图像的高斯平均平滑滤波

高斯平均是加权平均的一种特例,它根据高斯分布来确定各个模板的系数。
高斯平均模板的分解,因为高斯平均常使用较大的模板,所以会需要很大的计算量,所以,可将一个 2-D 的高斯平均模板分解为两个顺序使用的 1-D高斯平均模板来达到减少计算量的目的。例如:

      替换之后的计算量从O(n^2)变为O(2n),模板越大,效果越明显。

代码:

import cv2
import numpy as np
import matplotlib.pyplot as plt

#加椒盐噪声的函数
def saltPepper(image, salt, pepper):
    height = image.shape[0]
    width = image.shape[1]
    pertotal = salt + pepper    #总噪声占比
    noiseImage = image.copy()
    noiseNum = int(pertotal * height * width)
    for i in range(noiseNum):
        rows = np.random.randint(0, height-1)
        cols = np.random.randint(0,width-1)
        if(np.random.randint(0,100)

说明:

  • cv2.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]])

src——输入图像

ksize——高斯模板大小

sigmaX——在X方向上的高斯模板标准偏移

borderType——像素外推方法

OpenCV-python 实现图像的高斯平均平滑滤波_第1张图片

 

 

你可能感兴趣的:(图像处理,python)