动态邻域坐标

时间:2012-10-30 10:29:56

标签: c# coordinates generator points

对于图像过滤器,我想生成一个变量邻域。 这就是我的社区目前的样子,它是一个摩尔社区。

private Point[] neighborhood = new Point[]
                                               {
                                                   new Point(-1,-1),
                                                   new Point(0,-1),
                                                   new Point(1,-1),

                                                   new Point(-1,0),
                                                   new Point(1,0),

                                                   new Point(-1,1), 
                                                   new Point(0,1), 
                                                   new Point(1,1), 
                                               };

当我想改变邻居的大小时,这会变得非常复杂。 我想要一个返回所有坐标的funktion,比如generateNeighborhood(8)将返回这个Points数组。这是最好的方法吗?

1 个答案:

答案 0 :(得分:1)

这样的东西?

private Point[] GetNeighbors(int count)
{
    int a, x, y, c = count / 2;
    Point[] p = new Point[count * count];

    for (a = y = 0; y < count; y++)
        for (x = 0; x < count; x++)
            p[a++] = /* Create point here */
    return p;
}

我认为您可以添加缺少的代码;)