基于OpenCvSharp的数字图像处理 - 模糊、平滑、去噪

创建项目  |  文件与显示  |  像素操作  |  图像彩色类型转换  |  模糊、平滑、去噪  |  锐化、边缘检测  |  二值化  |  形态学  |  位置变换  |  直方图  |  霍夫变换  |  图像优化  |  图像分割

完整示例项目

 

这一章的模糊处理,以及下一章的锐化处理,其实绝大部分都是用一个核跟图像做卷积,使用的核不一样,效果就不一样。

一、均值滤波

均值滤波使用的核是全1核,再归一化。如五阶核:

Mat src = new Mat(img_lenna, ImreadModes.Grayscale);
Mat result = new Mat();
Cv2.Blur(src, result, new OpenCvSharp.Size(5, 5));
result.SaveImage(img_result);

效果如下:

二、中值滤波

中值滤波并不是跟核卷积,而是取核范围内像素的中位数。中值滤波处理椒盐噪声有显著效果。

Mat src = new Mat(img_noise);
Mat result = new Mat();
Cv2.MedianBlur(src, result, 3);
result.SaveImage(img_result);

效果如下:

三、高斯滤波

高斯滤波所所用的核使用高斯函数进行近似,一个5*3的核如下图所示:

Mat src = new Mat(img_lenna);
Mat result = new Mat();
Cv2.GaussianBlur(src, result, new OpenCvSharp.Size(3, 5), 0);
result.SaveImage(img_result);

效果如下:

四、双边滤波

双边滤波相较于高斯滤波,能更好的保留边缘信息。

Mat src = new Mat(img_lenna);
Mat result = new Mat();
Cv2.BilateralFilter(src, result, 5, 10, 2);
result.SaveImage(img_result);

效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值