Попытка использовать cv.inRange (); чтобы получить выбранные цветные пиксели в диапазоне, проблема заключается в том, что скалярный массив, который должен быть разрешен, возвращает ошибку mat не в типе внутри cv.inRange (); функция.
пытались реализовать несколько способов реализации скалярного массива в функции, ошибка по умолчанию не сохраняется.
cv.cvtColor(hsvMat,hsvMat,cv.COLOR_BGR2HSV);
lh = 0; //low hue value
ls = 132; //low saturation value
lv = 255; //low value value
hh = 10;
hs = 255;
hv = 160;
cv.inRange(hsvMat, [lh,ls,lv,0], [hh,hs,hv,0], mask);
Аргументы, указанные в документации opencv 4.1.0, показывают cv.inRange (src, lowerBoundary (mat / scalar), upperBoundary (mat / scalar), dst);
Параметры
src first input array.
lowerb inclusive lower boundary array or a scalar.
upperb inclusive upper boundary array or a scalar.
dst output array of the same size as src and CV_8U type.
BindingError {name: "BindingError", message: "Cannot pass "0,132,255,0" as a Mat", stack: "BindingError: Cannot pass "0,132,255,0" as a Mat↵ …acking.js-master/examples/opencvtest2.html:451:5)"}
Вышеуказанная ошибка гласит, что скалярный массив не может быть передан как Mat, но в документации сказано, что я могу передать скалярный массив? я также попытался удалить «0» в массиве, так как я написал это сработало в другой части моего кода, не используя cv.inRange ();