Douglas-Peucker简化了优势

时间:2016-09-16 12:39:15

标签: java image algorithm image-processing image-recognition

边缘检测

我使用Soble运算符来获取一些有用的点。这是我的al:

    for (int x = 0; x < mWidth; x++) {
        for (int y = 0; y < mHeight; y++) {
            int grayX = getGrayPoint(x + 1, y - 1) + 2 * getGrayPoint(x + 1, y) + getGrayPoint(x + 1, y + 1) -
                    (getGrayPoint(x - 1, y - 1) + 2 * getGrayPoint(x - 1, y) + getGrayPoint(x - 1, y + 1));
            int grayY = (getGrayPoint(x - 1, y + 1) + 2 * getGrayPoint(x, y + 1) + getGrayPoint(x + 1, y + 1)) -
                    (getGrayPoint(x - 1, y - 1) + 2 * getGrayPoint(x, y - 1) + getGrayPoint(x + 1, y - 1));
            int gradient = (int) Math.sqrt(grayX * grayX + grayY * grayY);
            if (gradient > 40){
                mEdgePoints.add(new int[]{x,y});
            }
        }
    }

简化边缘

我知道Douglas-Peucker可以帮我简化边缘,但关键是边缘点的顺序。

Douglas–Peucker

那么我如何使用Douglas-Peucker al?

1 个答案:

答案 0 :(得分:0)

在简化之前,你必须在连续链中加入边缘点。

众所周知的Canny algorithm最重要的部分是边缘跟踪,因此您可以学习此算法并应用使用过的方法。