如何在Python中使用OpenCV对图像执行双边滤波操作?
双边滤波操作在平滑图像和去除噪声方面非常有效。双边滤波的主要优点是它可以保留边缘,而平均和中值滤波不能保留。与其他滤波器相比,双边滤波操作较慢。我们可以使用 cv2.bilateralFilter() 方法对图像执行双边滤波操作。
语法
以下是该方法的语法。
此方法接受以下 参数 −
- img − 应用双边滤波操作的输入图像。
-
d − 表示像素邻域直径的整数类型的变量。
-
sigmaColor − 表示颜色空间中的滤波器sigma的整数值。值越大,颜色之间的距离越远,它们就开始混合。
-
sigmaSpace − 表示坐标空间中的滤波器sigma的整数值。它的值越大,颜色在sigmaColor范围内的像素混合得越远。
步骤
要执行双边滤波操作,可以按照以下步骤进行−
导入所需库。在以下所有Python示例中,所需的Python库是 OpenCV 。确保您已安装它。
读取输入图像。
在输入图像上应用双边滤波。我们将d,sigmaColor和sigmaSpace分别作为9、15和15传递给函数。
显示双边过滤后的图像。
示例
让我们看一个对输入图像执行双边滤波操作的示例。
我们将使用以下图像作为 输入文件 在此程序中−
输出
当我们执行以上代码时,它将产生以下输出 **** −
我们得到以下输出窗口−
注意输入图像和经过双边滤波后的图像之间的区别。