这篇教程OpenCV半小时掌握基本操作之高斯双边写得很实用,希望能帮到您。 【OpenCV】 ⚠️高手勿入! 半小时学会基本操作 ⚠️ 高斯双边
概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天带大家用 OpenCV 来实现一个简单的磨皮. 
边缘保留滤波 (EPF)边缘保留滤波 (Edge Preserving Filter) 是图像处理的一种技术. 有别与传统滤波, EPF 会对差别较大的像素区域进行区分, 在保持边缘锐利的同时消除噪声或纹理.
高斯双边双边滤波 (Bilateral Filter) 即高斯滤波. 滤波器由两个函数构成. 一个函数是由集合空间距离决定滤波器系数. 另一个是由像素差值决定滤波系数. 
格式: cv2.bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=None) 参数: - src: 输入图像
- d: 相邻像素的直径
- sigmaColor: 颜色空间过滤
- sigmaSpace: 坐标空间过滤
例子: import numpy as npimport cv2# 读取图片image = cv2.imread("face.jpg")# 高斯二边dest = cv2.bilateralFilter(image, 0, 100, 15)# 图片展示combine = np.hstack((image, dest))cv2.imshow("combine", combine)cv2.waitKey(0)cv2.destroyAllWindows()# 保存结果cv2.imwrite("bilateral.jpg", combine) 输出结果: 
高斯模糊 vs 高斯双边: 
均值迁移均值迁移 (Mean-Shift Blur) 会计算得到像素均值与空间位置均值, 使用新的均值作为窗口中心位置. 格式: cv2.pyrMeanShiftFiltering(src, sp, sr, dst=None, maxLevel=None, termcrit=None) 参数: - src: 输入图像
- sp: 空间窗口半径
- sr: 颜色窗口半径
- maxLevel: 分割金字塔的最大级别
- termcrit: 终止条件, 默认为 None
例子: import numpy as npimport cv2# 读取图片image = cv2.imread("face.jpg")# 均值迁移dest = cv2.pyrMeanShiftFiltering(image, 10, 50)# 图片展示combine = np.hstack((image, dest))cv2.imshow("combine", combine)cv2.waitKey(0)cv2.destroyAllWindows()# 图片保存cv2.imwrite("mean_shift.jpg", combine) 输出结果: 
到此这篇关于OpenCV半小时掌握基本操作之高斯双边的文章就介绍到这了,更多相关OpenCV高斯双边内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net! OpenCV半小时掌握基本操作之傅里叶变换 OpenCV半小时掌握基本操作之分水岭算法 |