【问题标题】:How can i decide the optimal iterations for grabcut algorithm?我如何确定抓取算法的最佳迭代?
【发布时间】:2016-12-04 02:15:19
【问题描述】:
Grab cut 算法针对不同的迭代次数给出不同的结果,并在一段时间后稳定下来,没有任何进一步的变化。但是对于我的数据集,如果我让它安定下来,它也在裁剪前景。如果我只进行 2,3 次迭代,那么结果会更好。
我的目标是在不遗漏任何细节的情况下获得完整的前景。即使输出有一些背景,也是可以接受的。所以我的问题是多少次迭代对于具有最小前景切割的抓取是最佳的?
【问题讨论】:
标签:
opencv
foreground
background-subtraction
【解决方案1】:
在函数中
cv2.grabCut(img,mask,rect,bgdModel,fgdModel,iterCount,cv2.GC_INIT_WITH_RECT)
您可以将iterCount 最多更改为 5 以正常使用 Grabcut 算法。
当您使用iterCount = 1 或iterCount = 2 时,您将根据绘制的矩形获得最少的背景扣除。
因此,如果您想要具有最小前景切割的grabCut,请使用iterCount=2,然后指定靠近主对象的矩形。
希望这会有所帮助...