cv2.inRange приводит к массиву 0, вызывая ошибку с findContours - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь обнаружить и отследить красный объект с помощью OpenCV и Python 3.8, я проверил, что OpenCV установлен, но при попытке вычислить диапазон для маски моего объекта функция inRange дает мне массив из 0.

lowvals = (0, 127, 140)
highvals = (200, 255, 255)

cap = cv2.VideoCapture('data/vid.mp4')

while True:
    _, frame = cap.read()
    frameHSV = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

    colorLow = np.array([0, 127, 140])
    colorHigh = np.array([200, 255, 255])
    mask = cv2.inRange(frameHSV, colorLow, colorHigh)

    im2, contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

Я пытался отслеживать значения во время отладки, но все еще не могу понять, почему inRange не работает должным образом. Я считаю, что это приводит к сбою моего метода findContours с ValueError: not enough values to unpack (expected 3, got 2)

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