在这篇文章中,将详细介绍几个常用的图像处理函数,通过具体的示例来说明每个函数的作用和使用方法。这些函数包括 blur、boxFilter、sqrBoxFilter、medianBlur 和 GaussianBlur。每个示例都将展示函数的运算过程和结果,并与实际应用项目相关联。
1. blur 函数
定义:
void blur(InputArray src, OutputArray dst, Size ksize, Point anchor = Point(-1, -1), int borderType = BORDER_DEFAULT);
参数:
src:输入图像
dst:输出图像
ksize:滤波器的大小
anchor:滤波器的中心,通常采用默认值
borderType:边界类型,通常采用默认值
作用或原理:
图像模糊,也称为均值滤波。在 ksize 指定的大小内计算像素平均值,anchor 表示锚点位置,通常采用默认值,边界类型也采用默认值。
示例:
假设我们有一张包含小猫的图片,我们希望模糊处理这张图片,使得小猫的边缘不那么清晰。
using OpenCvSharp;
Mat src = Cv2.ImRead("cat.jpg"); // 读取图片
Mat dst = new Mat();
Cv2.Blur(src, dst, new Size(5, 5)); // 使用 5x5 的滤波器进行模糊处理
Cv2.ImWrite("blurred_cat.jpg", dst); // 保存模糊后的图片