关于 c :openCV grabcut GC_INIT_WITH_MASK 第一次迭代

openCV grabcut GC_INIT_WITH_MASK first iteration

他,
如何使用掩码初始化第一个 Grabcut?就我而言,每次我遇到此错误时: (-215) !bgdSamples.empty()


它并不完美,但结果很干净,图像边缘没有矩形。

  • 第一个使用 rect 的 Grabcut init
  • 使用 GC_PR_FGD/BGD 作为颜色在图像周围画一个更大的矩形

    1
    2
    3
    4
    int xyCord = 1;
    int size = 2*xyCord;
        rectangle(GrabCut::mask, Point(xyCord,xyCord),Point(GrabCut::image.cols-size,GrabCut::image.rows-size),Scalar(GC_PR_FGD),30);
        rectangle(GrabCut::mask, Point(xyCord,xyCord), Point(GrabCut::image.cols-size,GrabCut::image.rows-size),Scalar(GC_PR_BGD),30);
  • 第二个带掩码的 Grabcut init