OpenCV图像滤镜2025年3月17日 | 阅读 3 分钟 图像滤波是通过改变像素的色调或颜色来修改图像的过程。它也用于增加亮度和对比度。在本教程中,我们将学习几种类型的滤镜。 双边滤波OpenCV 提供了 bilateralFilter() 函数来对图像应用双边滤波。双边滤波可以在保持边缘清晰的同时很好地减少不必要的噪声。该函数的语法如下所示 参数- src- 它表示图像的源。它可以是 8 位或浮点单通道图像。
- dst- 它表示相同大小的目标图像。它的类型将与 src 图像相同。
- d - 它表示滤波过程中使用的像素邻域的直径(整数类型)。如果它的值为负数,则从 sigmaSpace 计算。
- sigmaColor - 它表示颜色空间中的滤波 sigma。
- sigmaSpace - 它表示坐标空间中的滤波 sigma。
请看以下示例 输出  盒式滤波我们可以使用 boxfilter() 函数执行此滤波。它类似于平均模糊操作。该函数的语法如下所示 参数- src - 它表示图像的源。它可以是 8 位或浮点单通道图像。
- dst- 它表示相同大小的目标图像。它的类型将与 src 图像相同。
- ddepth - 它表示输出图像的深度。
- ksize - 它模糊内核大小。
- anchor - 它表示锚点。默认情况下,它的值为坐标 (-1,1),这意味着锚点位于内核中心。
- normalize - 这是一个标志,用于指定是否应规范化内核。
- borderType - 一个整数对象,表示使用的边框类型。
请看以下示例 输出  Filter2D它将图像与内核组合。我们可以使用 Filter2D() 方法对图像执行此操作。该函数的语法如下所示 参数- src - 它表示输入图像。
- dst- 它表示相同大小的目标图像。它的类型将与 src 图像相同。
- kernel - 这是一个卷积核,一个单通道浮点矩阵。如果要对不同的通道应用不同的内核,请使用 split () 进程将图像分成单独的颜色平面,然后单独处理它们。
- anchor - 它表示锚点,默认情况下其值为 Point(-1,1),这意味着锚点位于内核中心。
- borderType - 一个整数对象,表示使用的边框类型。
请看以下示例 输出 
|