数字图像处理(七)均值滤波

题目:使用均值滤波器对图像进行滤波。
采用国际标准测试图像Lena。
3*3的均值滤波器定义如下:
在这里插入图片描述
c++代码:

cv::Mat image = cv::imread("Lena.bmp");
    cv::Mat src(image.size(),CV_8UC1);
    cv::cvtColor(image, src, CV_BGR2GRAY);

    cv::Mat dst = src.clone();

    double v = 0;
    int r = 3;

    for (int row = 1; row < dst.rows-1; row++)
    {
        for (int col = 1; col < dst.cols-1; col++)
        {
            v = 0;
            for (int dy = -1; dy < r - 1; dy++)
            {
                for (int dx = -1; dx < r - 1; dx++)
                {
                    v = v + dst.at<uchar>(row + dy, col + dx);
                }
            }
            dst.at<uchar>(row, col) = uchar(v / (r*r));
        }
    }

结果展示:
在这里插入图片描述
均值滤波器的特点:
计算均值会将图像中的边缘信息和特征信息模糊掉,丢失很多特征,使得景物的清晰度降低,画面变得模糊。对于高斯噪声,当滤波器的长度足够大时,有非常好的噪声抑制效果。
参考链接:https://github.com/gzr2017/ImageProcessing100Wen/blob/master/Question_01_10/answers_cpp/answer_7.cpp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值