В настоящее время я пытаюсь преобразовать Простое распознавание жестов рук с использованием OpenCV и JavaScript в текущую версию Javascript и OpenCV. js. (Вот мое текущее состояние на Github .)
Первая часть уже работает, но теперь у меня проблема.
cv.convexHull(handContour, hullIndices, false, false);
cv.convexityDefects(handContour, hullIndices, defects);
for (let i = 0; i < defects.rows; ++i) {
let start = new cv.Point(handContour.data32S[defects.data32S[i * 4] * 2], handContour.data32S[defects.data32S[i * 4] * 2 + 1]);
let end = new cv.Point(handContour.data32S[defects.data32S[i * 4 + 1] * 2], handContour.data32S[defects.data32S[i * 4 + 1] * 2 + 1]);
let far = new cv.Point(handContour.data32S[defects.data32S[i * 4 + 2] * 2], handContour.data32S[defects.data32S[i * 4 + 2] * 2 + 1]);
cv.line(dst, start, end, lineColor, 2, cv.LINE_AA, 0);
cv.circle(dst, start, 3, circleColor, -1);
cv.circle(dst, end, 3, circleColor, -1);
cv.circle(dst, far, 3, circleColor, -1);
}
Это приводит к следующему изображению с использованием Это Входное изображение .
Но на кончиках пальцев он др aws несколько кругов. Как можно уменьшить количество дефектов выпуклой оболочки?