双边滤波是低通滤波处理的一种。
双边滤波器的好处是可以做边缘保存,即在过滤掉图像噪声的同时保留图像的边缘细节;但由于保存了过多的高频信息,对于彩色图像里的高频噪声,双边滤波器不能够干净的滤掉,只能够对于低频的信息进行较好的滤波
高斯滤波在低通滤波算法中有不错的表现,但是其却有另外一个问题,那就是只考虑了像素间的空间位置上的关系,因此滤波的结果会丢失边缘的信息。这里的边缘主要是指图像中主要的不同颜色区域(比如蓝色的天空,黑色的头发等),而Bilateral就是在Gaussian blur中加入了另外的一个权重分部来解决这一问题。
meanShfit均值漂移算法是一种通用的聚类算法,它的基本原理为,对于给定的一定样本,任选其中一个样本,以该样本为中心点划定一个圆形区域,求取该圆形区域内的样本的质心,即密度最大处的点,再以该点为中心继续执行上述迭代过程,直至收敛
均值漂移本质上是一种聚类算法,可用于图像分割、平滑、跟踪等场景
import cv2 as cv
import numpy as np
defbi_demo(image): #双边滤波
dst = cv.bilateralFilter(image, 0, 100, 15)
cv.namedWindow("bi_demo", cv.WINDOW_NORMAL)
cv.imshow("bi_demo", dst)
defshift_demo(image): #均值迁移
dst = cv.pyrMeanShiftFiltering(image, 10, 50)
cv.namedWindow("shift_demo", cv.WINDOW_NORMAL)
cv.imshow("shift_demo", dst)
src = cv.imread('E:/imageload/cat.jpg')
cv.namedWindow('input_image', cv.WINDOW_NORMAL)
cv.imshow('input_image', src)
bi_demo(src)
shift_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()
通俗理解Meanshift均值漂移算法:https://www.cnblogs.com/lowbi/p/10733733.html
meanShfit均值漂移算法:https://www.jianshu.com/p/bd831a122735
图像处理之双边滤波介绍与源码实现:https://www.cnblogs.com/qiqibaby/p/5296681.html
Python+OpenCV图像处理(七)—— 滤波与模糊操作:https://www.cnblogs.com/FHC1994/p/9097231.html