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