Opencv.js Как нарисовать подмножество контуров? - PullRequest
0 голосов
/ 24 мая 2019

Используя 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 голосов
/ 25 мая 2019

С 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...