AcoustID.Chromaprint.IntegralImage.Area C# (CSharp) Метод

Area() публичный Метод

public Area ( int x1, int y1, int x2, int y2 ) : double
x1 int
y1 int
x2 int
y2 int
Результат double
        public double Area(int x1, int y1, int x2, int y2)
        {
            if (x2 < x1 || y2 < y1)
            {
                // TODO: throw?
                return 0.0;
            }

            double area = m_image.Get(x2, y2);
            if (x1 > 0)
            {
                area -= m_image.Get(x1 - 1, y2);
                if (y1 > 0)
                {
                    area += m_image.Get(x1 - 1, y1 - 1);
                }
            }
            if (y1 > 0)
            {
                area -= m_image.Get(x2, y1 - 1);
            }
            //std::cout << "Area("<<x1<<","<<y1<<","<<x2<<","<<y2<<") = "<<area<<"\n";
            return area;
        }

Usage Example

Пример #1
0
        // .......ooooooooo
        // .......ooooooooo
        // .......ooooooooo
        // .......ooooooooo
        public static double Filter2(IntegralImage image, int x, int y, int w, int h, Func <double, double, double> cmp)
        {
            //Debug.Assert(x >= 0);
            //Debug.Assert(y >= 0);
            //Debug.Assert(w >= 1);
            //Debug.Assert(h >= 1);

            int w_2 = w / 2;

            double a = image.Area(x + w_2, y, x + w - 1, y + h - 1);
            double b = image.Area(x, y, x + w_2 - 1, y + h - 1);

            return(cmp(a, b));
        }
All Usage Examples Of AcoustID.Chromaprint.IntegralImage::Area