简介:我正在处理一个图像处理任务,试图找到一个对象的两个边界,可以用两条直线段来描述。我正在使用霍夫线变换的一些变体来查找目标图像中的线段。霍夫变换发现对象的每个边界有多条线(共享一个非常小的角度),并且可能发现一些线与图像中某处的对象边界不对应(误报)。由于对象的两个边界之间的空间关系(角度)是近似已知的,我想我会采用某种聚类方法来排除误报并计算每个找到的多个线段中的平均线段边界。
方法:为了对线段进行聚类,需要为每个线段的位置定义一个相似性度量。我想我会使用两个线段之间的角度元组和两个线段之间的某种平均距离。这也是我想知道计算这个平均距离度量的最佳方法是什么。一种比较简单的方法是在离散位置对每个线段进行采样,并测量每个采样点到另一个线段的最近距离 (L2),将距离相加并将总和除以样本数。我敢肯定有更聪明的方法可以做到这一点,有什么建议吗?
提示:我正在使用 C++ 和几个 LGPL/BSD 许可的工具包(OpenCV、Boost),所以一些特殊的数学运算,比如在数学中的集成可能很难实现。