Opencv.js如何绘制轮廓子集?

时间:2019-05-24 18:56:31

标签: javascript opencv web image-processing

使用Opencv.js,我已经获得了图像中的轮廓。

使用一些选择功能,我收集了这些轮廓的一部分。

说它们在轮廓列表中:

var suitableContours = [];

我需要知道使用opencv绘制这些轮廓。

如果这是python,我可以做到

cv.drawContours(img, [suitableContours[cnt]], 0, [255, 0, 0, 255], 2);

假设要绘制轮廓,我无权访问原始图像,蒙版或原始轮廓列表,只有选定的轮廓。

如何绘制这些轮廓?

上面的代码导致:BindingError: Cannot pass "[object Object],[object Object]" as a MatVector

1 个答案:

答案 0 :(得分:0)

来自 https://docs.opencv.org/3.4/d5/daa/tutorial_js_contours_begin.html

尝试这样的事情:

let color = new cv.Scalar(255,0,0,255);
for (let i = 0; i < suitableContours.size(); ++i) {
    cv.drawContours(src, suitableContours, i, color, 1, cv.LINE_8, hierarchy, 100);
}
cv.imshow('canvasOutput', src);