我想使用OpenCV Hough Circles的实现,但我有一个问题: 此功能返回的圈子已按投票排序?
由于霍夫变换是基于投票机制,我想知道这些圈子是按照从最多投票到最少投票的顺序,还是以随机顺序返回。
答案 0 :(得分:3)
是的,它们根据累加器中的投票按降序排序。
你会注意到在实际计算icvHoughCirclesGradient
内的hough变换hough.cpp
的函数中,在包含投票的缓冲区中调用icvHoughSortDescent32s( &sort_buf[0], center_count, adata );
。
请注意,(source)根据来自周围边缘像素的最高投票的圆心的最高累积值对中心进行排序,而不是根据支持半径像素的数量。这是有道理的,因为更大的圈子会有更高的支持。