Python:按半径排序从cv2 HoughCircles返回的圆圈

时间:2014-01-03 16:33:13

标签: python sorting opencv numpy

我正在尝试优化我的圈子识别脚本。 我们的想法是按半径(从最大到最小)对HoughCircle函数(cv2)返回的圆进行排序。 例如:

circles=cv2.HoughCircles(image,bla....bla)
circles2=sorting_by_radius(circles)           #your help is needed to do this
for c in circles2                             
    do_my_istructions

我尝试了.sort方法和np.argsort,但出了点问题。

1 个答案:

答案 0 :(得分:2)

代表user3157906(为了应用代码格式化)

解决!

我犯的错误:

circles=cv2.HoughCircles(image,bla....bla)
circles2=sorted(circles,key=lambda x:x[2],reverse=true)

问题是每个圆圈的位置和半径信息存储在circles[0]

所以正确的方法是:

circles=cv2.HoughCircles(image,bla....bla)
circles2=sorted(circles[0],key=lambda x:x[2],reverse=true)