我正在尝试优化我的圈子识别脚本。 我们的想法是按半径(从最大到最小)对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
,但出了点问题。
答案 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)