zoukankan      html  css  js  c++  java
  • 5.均值滤波

    一、均值滤波概念

         1 邻域

       

        2.卷积

            如上图所示,是通过对目标像素的邻域进行加权得到新的目标像素的值,其中这个加权矩阵我们叫做邻域算子(局部算子)。

      

          其中g(x, y)就是我们滤波后希望得到的函数,h(x, y)就是邻域算子,f(x, y)就是原图。那么有公式可以表示:

        3 均值滤波原理

         均值滤波其实就是对目标像素及周边像素取平均值后再填会目标像素来实现滤波目的的方法。

    Mat blur(Mat& img)
    {
        if (img.data)
        {
            int height = img.rows;
            int width = img.cols;
            int channel = img.channels();
    
            Mat out = Mat::zeros(height, width, img.type());
            int count = 0;
            int sum = 0;
            int pad = floor((double)kernel_size / 2);
            for (int y = 0; y < height; y++)
            {
                for (int x = 0; x < width; x++)
                {
                    for (int c = 0; c < channel; c++)
                    {
                        sum = 0;
                        for (int dy = -pad; dy < pad + 1; dy++)
                        {
                            for (int dx = -pad; dx < pad + 1; dx++)
                            {
                                if ((y - pad > 0) && (x - pad) > 0 && (y + pad) < height && (x + pad) < width)
                                    sum += (int)img.at<Vec3b>(y+dy, x+dx)[c];
                            }
                        }
                        sum /= (kernel_size*kernel_size);
                        out.at<Vec3b>(y, x)[c] = (uchar)sum;
                    }
                }
            }
            return out;
        }
    }

          

  • 相关阅读:
    openssl生成CA和服务器SSL证书
    Windows编译安装openssl
    yasea浅析
    谈落后时的自卑感(三)
    更新Jekyll
    码云博客
    谈落后时的自卑感(二)
    谈落后时的自卑感(一)
    怎么才能更好的帮助企业进行数据挖掘
    云计算将来会面临什么样的安全威胁?
  • 原文地址:https://www.cnblogs.com/xingyuanzier/p/13274322.html
Copyright © 2011-2022 走看看