Как выбрать определенные c цветовые диапазоны с помощью inRange () в OpenCV. js - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь выбрать цветовой диапазон между желтым и красным для случайных изображений, но вывод всегда черный. Если я отображаю цветные материалы, я вижу, что они установлены правильно.

Я пытался выбрать желтый (204, 187, 31) и красный (255, 0, 0) как [R, G, B, A] и [B, G, R, A], оба вернулись черными.

На основании этой статьи Я пытался преобразовать исходное изображение в hsv, но при использовании его в inRange () я получил ошибку 14325648, о которой я не нашел упоминания.

  • Пробовал с несколькими разноцветными изображениями
  • Пробовал с различными альфа-каналами
let srcMat  = cv.imread(createdImage);
let displayMat = new cv.Mat();

let yellowMat = new cv.Mat(srcMat.rows, srcMat.cols, srcMat.type(), [204, 187, 31, 255]);
let redMat = new cv.Mat(srcMat.rows, srcMat.cols, srcMat.type(), [255, 0, 0, 255]);

cv.inRange(srcMat, yellowMat, redMat, displayMat);
cv.imshow('imageCanvas', displayMat);

srcMat.delete();
displayMat.delete();
yellowMat.delete();
redMat.delete();

Вы можете попробовать ту же конфигурацию, что и я, и повторить ее со страницы документации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...