【问题标题】:Javascript opencv (opencv.js) grabcut GC_INIT_WITH_MASK issue example?Javascript opencv (opencv.js) 抓取 GC_INIT_WITH_MASK 问题示例?
【发布时间】:2020-01-17 08:50:34
【问题描述】:

我正在尝试在 opencv.js 上运行抓取模式,抓取模式为 GC_INIT_WITH_MASK。但没有得到我需要的结果。我得到的结果与使用抓取模式 GC_INIT_WITH_RECT 得到的结果相同。

没有任何以GC_INIT_WITH_MASK为模式调用opencv.js cv.grabcut的在线示例。

所以,我查看了提供 python 示例的官方 opencv 文档。

在那个,

cv.grabCut(img,mask,None,bgdModel,fgdModel,5,cv.GC_INIT_WITH_MASK)

None(相当于javascript中的null)作为第三个参数,需要一个矩形对象,当模式为INIT_WITH_MASK时,这里不传递矩形是有意义的。

但是当我在 javascript 中使用 null 调用 cv.grabcut 函数时。它给出了一个错误,

TypeError: 不能使用 'in' 运算符在 null 中搜索 'x'

它在我传递一个矩形对象时运行。但与使用GC_INIT_WITH_RECT 模式的结果相同。

如何使用INIT_WITH_MASK模式正确运行?

【问题讨论】:

    标签: javascript opencv image-processing


    【解决方案1】:

    我遇到了类似的问题并尝试在没有任何参数的情况下初始化矩形并将其提供给GrabCut

     let rect = new cv.Rect();
     cv.grabCut(src, mask, rect, bgdModel, fgdModel, 1, cv.GC_INIT_WITH_MASK);
    

    而且它有效(我可以看到我自己的面具的不同之处)。起初,我也没有看到任何区别,但它表明我使用了与以前相同的掩码和 GC_INIT_WITH_RECT 选项。

    祝你有美好的一天

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 2013-05-04
      • 2021-07-16
      相关资源
      最近更新 更多