BindingError, сообщение: «Невозможно передать« 0,132,255,0 »в качестве мата - PullRequest
0 голосов
/ 24 июня 2019

Попытка использовать 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 ();

...