OpenCV4.0进阶(3)中值滤波

本文详细介绍中值滤波在图像处理中的应用,特别是对于椒盐噪声的去除效果显著。中值滤波通过统计排序滤波器,在图像上移动窗口并取中值,有效去除噪声同时保持边缘清晰。代码演示使用OpenCV库实现中值滤波,展示不同卷积核大小的效果。
摘要由CSDN通过智能技术生成

知识点:

中值模糊:

中值滤波本质上是统计排序滤波器(包括最小值滤波器和最大值滤波器)的一种,中值滤波对图像特定噪声类型(椒盐噪声)会取得比较好的去噪效果,也是常见的图像去噪声与增强的方法之一。中值滤波也是窗口在图像上移动,其覆盖的对应ROI区域下,所有像素值排序,取中值作为中心像素点的输出值。

相关API:

void medianBlur( InputArray src, OutputArray dst, int ksize );

- src:输入图像,Mat类型,图像深度为CV_8U、CV_16U、CV_16S、CV_32F、CV_64F;

- dst:输出图像,与输入图像有相同的类型和尺寸;

- ksize:卷积核的大小,必须是奇数,而且必须大于1。ksize越大,去噪效果越好,但滤波后的图像越模糊,所以需要根据实际情况选取合适的ksize。

 

代码演示:

#ifndef DAY23
#define DAY23

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

void day23() {

	Mat src = imread("G:/opencvTest/sp_noise.png");
	if (src.empty()) {
		printf("could not load image...\n");
		return;
	}
	namedWindow("input", WINDOW_AUTOSIZE);
	imshow("input", src);

	Mat dst;
	//medianBlur(src, dst, 5);
	medianBlur(src, dst, 3);
	imshow("medianblur ksize=3", dst);

	waitKey();
}


#endif // !DAY23

 

结果展示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Apple_Coco

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值