Javascript opencv(opencv.js)grabcut GC_INIT_与_掩码问题示例?
我试图在opencv.js上运行grabcut,grabcut模式为Javascript opencv(opencv.js)grabcut GC_INIT_与_掩码问题示例?,javascript,opencv,image-processing,Javascript,Opencv,Image Processing,我试图在opencv.js上运行grabcut,grabcut模式为GC\u INIT\u with_MASK。但是没有得到我需要的结果。我从中得到的结果与使用grabcut模式作为GC\u INIT\u WITH_RECT得到的结果相同 没有任何调用opencv.js cv.grabcut的在线示例使用GC\u INIT\u和\u MASK作为模式 因此,我查看了提供python示例的官方opencv文档 在这方面, cv.grabCut(img,mask,None,bgdModel,fgdM
GC\u INIT\u with_MASK
。但是没有得到我需要的结果。我从中得到的结果与使用grabcut模式作为GC\u INIT\u WITH_RECT
得到的结果相同
没有任何调用opencv.js cv.grabcut的在线示例使用GC\u INIT\u和\u MASK
作为模式
因此,我查看了提供python示例的官方opencv文档
在这方面,
cv.grabCut(img,mask,None,bgdModel,fgdModel,5,cv.GC_INIT_WITH_MASK)
第三个参数是None
(在javascript中相当于null),它需要一个矩形对象,当模式为INIT\u WITH\u MASK
时,不在此处传递矩形是有意义的
但当我在javascript中调用cv.grabcut函数时,在那个地方使用null。它给出了一个错误
TypeError:无法使用“in”运算符在null中搜索“x”
当我传递一个矩形对象时,它会运行。但给出的结果与使用带_RECT的模式的GC_INIT__相同
如何使用
INIT\u WITH\u MASK
模式正确运行它?我遇到了类似的问题,尝试在没有任何参数的情况下初始化矩形,并将其提供给GrabCut
:
let rect = new cv.Rect();
cv.grabCut(src, mask, rect, bgdModel, fgdModel, 1, cv.GC_INIT_WITH_MASK);
它是有效的(我可以用我自己的面具看到不同)。起初,我也没有看到任何区别,但它表明我使用了与以前相同的掩码,使用了GC\u INIT\u with_RECT
选项
祝你今天愉快