两个局部特征关键点之间的最大方向差异是多少?

时间:2019-04-01 07:19:27

标签: image-processing feature-extraction feature-detection

我正在尝试计算两个先前定义的局部特征关键点之间的最大差异。我的关键点定义为x,y,比例,方向和本征向量,我使用Java中的OpenImaj库作为基础。 (http://openimaj.org/apidocs/org/openimaj/image/feature/local/keypoints/Keypoint.html

忽略比例,要计算图像中两个关键点之间的最大差异,请使用以下内容。

private double maxDiff(int width, int height) {
        Keypoint p1 = new Keypoint(0, 0, 0, 0, null);
        Keypoint p2 = new Keypoint(width, height, (float) (Math.PI * 2), 0, null);//scale neglected
        return calculateDiff(new Pair<>(p1, p2));
    }
private double calculateDiff(Pair<Keypoint> pair) {
        Keypoint p1 = pair.getFirstObject();
        Keypoint p2 = pair.getSecondObject();
        return Math.sqrt(Math.pow((p1.x - p2.x), 2) + Math.pow((p1.y - p2.y), 2)
                + Math.pow((p1.scale - p2.scale), 2) + Math.pow((p1.ori - p2.ori), 2));
    }

这假定两个点位于图像的相对角且具有最大方向。我将在这两个点上计算欧几里得距离。

在上述算法中,我使用Math.PI * 2作为最大方向。我做对了还是实际最大方向只是Math.PI?

0 个答案:

没有答案