我刚刚实现了GrapCV算法(OpenCV,C ++,Visual Studio 12):
grabCut(* image,mask,rect,bgdModel,fgdModel,1,GC_INIT_WITH_MASK );
我用它来分割成下面的图片:
我的结果是:
我的问题是:我现在能够如何改进算法,以便只能看到两个玩家?我的第一个想法是关于颜色深度的变化,但我不知道如何将其发送到“grabCut”。或者还有其他方法吗?
答案 0 :(得分:-1)
在文件夹 opencv2.4.6 / samples / cpp 中,有很多文件演示了一些经典算法的使用。有一个名为 grabcut.cpp 的文件,它告诉您如何将此算法详细应用于您的应用程序。所以你需要做的就是将这个文件嵌入你的程序中。
如果您有任何其他问题,只需使用grabcut.cpp进行调试,您就会看到它的详细信息。如果你想自己实现它。您需要使用新参数GC_EVAL
或GC_INIT_WITH_MASK
更改功能。
grabCut(image, // input image
mask, // segmentation mask
rect,// rectangle containing foreground
bgModel,fgModel, // models
2, // number of iterations
GC_INIT_WITH_RECT); // use rectangle