计算机视觉与图像处理学习笔记之双边滤波

       今天看一篇论文中用到双边滤波,之前没有看到过,所以学习一下。双边滤波在计算像素值的同时会考虑距离和色差信息,从而可在消除噪声得同时保护边缘信息。在执行双边滤波时,如果像素点与当前点色差较小,则赋予其较大的权重值,否则赋予其较小的权重值。

        我们知道图像平滑处理有边缘和细节模糊的负面效应,作为图像平滑处理的一种方式,双边滤波是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性。

        实现:dst=cv2.bilateralFilter(src, d, sigmaColor, sigmaSpace[,borderType])

参数说明:d表示以当前点为中心的邻域的直径,一般为5;

                  sigmaColor为双边滤波选择的色差范围

                  sigmaSpace为空间坐标中的sigma值,值越大表示越多的像素点参与滤波计算,当d>0时,忽略sigmaSpace,由d决定邻域大小;否则d由sigmaSpace计算得出,与sigmaSpace成比例。

示例:

import cv2
img = cv2.imread(图片文件路径, cv2.IMREAD_REDUCED_COLOR_2)
cv2.imshow('img', img)
img1 = cv2.bilateralFilter(img, 15, 100, 100)
cv2.imshow('imgBlur', img1)
cv2.waitKey(0)

猜你喜欢

转载自blog.csdn.net/m0_46352350/article/details/121467909