surf算法中积分和(图)与盒式(box)滤波器的关系(二,c#实现代码)

surf算法中积分和(图)与盒式(box)滤波器的关系(二,c#实现代码)

关于矩形框(roi区域)积分和的c#实现代码:

 //m_cutImageRoi//这个机器视觉入门(二)里边的类,博客中有,专门用来截取感兴趣区域图像的,

//在这里,很简单,只是一个不用旋转的矩形框,你也可以自己搞定

 //glob_buffer512512
            //点一的积分和//矩形的左,顶
          //  int w = Convert.ToInt32(textBoxpt1x.Text);
            int w = (int)m_cutImageRoi.m_RoiBase1.rcWin.Left;
           // int h = Convert.ToInt32(textBoxpt1y.Text);
            int h = (int)m_cutImageRoi.m_RoiBase1.rcWin.Top;
            long sum1 = 0;
            for (int j = 0; j < h; j++)
                for (int i = 0; i < w; i++)
                {
                    int n = j * 512 + i;
                    sum1 += glob_buffer512512[n];
                }
             //点二的积分和//矩形的右,顶
              w = (int)m_cutImageRoi.m_RoiBase1.rcWin.Right;
             h = (int)m_cutImageRoi.m_RoiBase1.rcWin.Top;
            long sum2 = 0;
            for (int j = 0; j < h; j++)
                for (int i = 0; i < w; i++)
                {
                    int n = j * 512 + i;
                    sum2 += glob_buffer512512[n];
                }
             //点三的积分和//矩形的左,底
            w = (int)m_cutImageRoi.m_RoiBase1.rcWin.Left;
             h = (int)m_cutImageRoi.m_RoiBase1.rcWin.Bottom;
            long sum3 = 0;
            for (int j = 0; j < h; j++)
                for (int i = 0; i < w; i++)
                {
                    int n = j * 512 + i;
                    sum3 += glob_buffer512512[n];
                }
              //点四的积分和//矩形的右,底
          w = (int)m_cutImageRoi.m_RoiBase1.rcWin.Right;
             h = (int)m_cutImageRoi.m_RoiBase1.rcWin.Bottom;
            long sum4 = 0;
            for (int j = 0; j < h; j++)
                for (int i = 0; i < w; i++)
                {
                    int n = j * 512 + i;
                    sum4 += glob_buffer512512[n];
                }
              long resultRc = sum4 + sum1 - sum2 - sum3;//感兴趣roi矩形区域积分和由四个点的积分和加减决定
            textBox积分和.Text = resultRc.ToString();