角点检测算法

时间:2014-01-12 10:12:10

标签: c# image-processing corner-detection

今天我在c#中尝试了角点检测。 我在那里添加了一个示例图像。图像为黑白色,外形和内部形状。

example image

我只关心外形而不是内形。尝试Harris角点检测让我无处可去,所以我想我可以将每个像素放在一个简单的双int结构中:

struct coordinates
{
    public int x, y;
    public coordinates(int xx, int yy)
    {
        this.x = xx;
        this.y = yy;
    }
};

但是试图获得最大和最低,最右和左的教堂再次失败了我并返回......(红线连接左上,右上和右下):

example Image processed

我认为这是因为不是完整的矩形形状(左上角和下角是圆角的)和不均匀的形状(右上角是右边,但是右下角在右下角3/4处向右下方)。 / p>

有关如何解决此问题的任何想法?使用上/左下角作为非圆角对我来说是好的(并且更好),所以最后我在这个白色形状周围有一个完整的矩形。

1 个答案:

答案 0 :(得分:1)

进行霍夫变换,找到主导线并计算它们的交叉点。这将改善您的结果,但不能保证找到的形状包含所有白色像素。这需要吗?