Android OpenCV - 两条模糊线之间的距离

时间:2015-08-05 22:05:35

标签: java opencv edge-detection opencv4android

如上所述,我试图通过应用边缘检测来获取图像中两条不明显线条之间的距离。作为示例,请查看下面的图像以获得说明。

enter image description here

如您所见,这些线条都是畸形的。理想情况下,我想要从上面显示的每条线获得最远点,并计算它们的距离。这可能与OpenCV有关吗?我知道我可以使用幅度函数来适当地计算距离,但问题在于实际上试图找到最远的点。

有人会知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果您知道这些线上的两个点,那么您可以使用OpenCV中的以下代码计算距离。

public double euclideanDistance(Point a, Point b){
    double distance = 0.0;
    try{
        if(a != null && b != null){
            double xDiff = a.x - b.x;
            double yDiff = a.y - b.y;
            distance = Math.sqrt(Math.pow(xDiff,2) + Math.pow(yDiff, 2));
        }
    }catch(Exception e){
        System.err.println("Something went wrong in euclideanDistance function in "+Utility.class+" "+e.getMessage());
    }
    return distance;
}

我希望这会有所帮助。