OpenCV笔记(2)

一、高斯模糊

def gaussian_blur(image):
    # 设置ksize来确定模糊效果
    img = cv.GaussianBlur(image, (5, 5), 0)
    cv.imshow('img', img)

    # 不通过ksize来设置高斯核大小,通过设置高斯分布公式中的sigma
    img2 = cv.GaussianBlur(image, (0, 0), 1)
    cv.imshow('img2', img2)

OpenCV笔记(2)

二、边缘保留滤波(EPF)

高斯双边模糊(美颜):

def bi_blur(image):
    img = cv.bilateralFilter(image, 0, 100, 5)
    cv.imshow('img', img)

OpenCV笔记(2)

从效果可以看出,边缘保留的还不错,而非边缘进行了模糊。双边模糊的效率比较低,特别是sigmaSpace比较大的时候。

cv.bilateralFilter()函数的参数:

src:原图像

d:过滤过程中每个像素领域的直径范围,若非正数,则从sigmaSpace计算

sigmaColor:值越大,表示像素领域内有多宽的颜色(颜色范围)会被混在一起

sigmaSpace:如果值较大,表示颜色相近的较远像素(空间范围)将互相影响,从而使更大区域足够相似的颜色获取相同的颜色。

 

上一篇:利用高斯矩阵模糊图像的标签


下一篇:实时识别色子的点数的算法_OPENCV_C++篇