公司网站维护工作,网页设计师在哪里工作,吴江网站制作,怎么做网站seo一、概念
双边滤波对于图像的边缘信息能够更好的保存。其原理为一个与空间距离相关的高斯函数与一个灰度距离相关的高斯函数相乘。
空间距离#xff1a;指的是当前点与中心点的欧式距离。空间域的高斯函数及其数学形式为#xff1a; 其中#xff08;xi#xff0c;yi…一、概念
双边滤波对于图像的边缘信息能够更好的保存。其原理为一个与空间距离相关的高斯函数与一个灰度距离相关的高斯函数相乘。
空间距离指的是当前点与中心点的欧式距离。空间域的高斯函数及其数学形式为 其中xiyi为当前点的位置xcyc为中心点位置sigma为空间域标准差。
灰度距离指的是当前点灰度与中心点灰度的差的绝对值。值域高斯函数及其数学形式为 其中grayxiyi为当前点的灰度值grayxcyc为中心点的灰度值sigma为值域标准差。
双边滤波本质上是高斯滤波双边滤波和高斯滤波不同的就是双边滤波既利用率位置信息又利用了像素信息来定义滤波窗口的权重。而高斯滤波只用了位置信息。
对于高斯滤波仅用空间距离的权值系数与图像卷积后确定中心点的灰度值。即认为离中心点越近的点其权重系数越大。
双边滤波加入了对灰度信息的权重即在邻域内灰度值越接近中心点灰度值的点权重更大灰度值相差大的点权重越小此权重大小则由值域高斯函数确定。
两者权重系数相乘得到最终的卷积模板。由于双边滤波需要每个中心点邻域的灰度信息来确定其系数所以其速度相比较一般的滤波慢的多而且计算量增长速度为核大小的平方。 双边滤波可以保留边缘同时可以对边缘内的区域进行平滑处理。有美颜的效果
如果在边界出现灰度值变化较大
二、代码演示
使用API---bilateralFiltersrc, d, sigmaColor, sigmaSpace[,dst[,borderType]]
--- d相当于卷积核的大小为整数
--- sigmaColor是计算像素信息使用的sigma
--- sigmaSpace是计算空间信息使用的sigma
示例代码如下
import cv2
import numpy as npgirl cv2.imread(beautiful women.png)
new_girl cv2.bilateralFilter(girl, 7, sigmaColor50, sigmaSpace50)cv2.imshow(img, np.hstack((girl, new_girl)))
cv2.waitKey(0)
cv2.destroyAllWindows()
输出结果如下 可以看出右边的图片人物表面平滑有美颜效果。