Я пытаюсь рисовать прямоугольники поверх фреймов Я записываю с камеры своего ноутбука, используя opencv2 в python.Почему cv2.rectangle возвращает None вместо изображения?
Однако изображение, возвращаемое функцией cv2.rectangle, равно None
. Зачем?
import numpy as np
import cv2
# details of rectangle to be drawn.
x, y, h, w = (493, 305, 125, 90)
cap = cv2.VideoCapture(0)
while 1:
ret, frame = cap.read()
if not ret or not frame:
# camera didn't give us a frame.
continue
# attempt to draw a rectangle.
img = cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
# This prints out None every time! why?
print str(img)
if not img:
continue
# We never get here since img is None. :/
cv2.imshow('img', img)
Я попытался добавить проверки, как вы видите, если кадр с камеры равен нулю. Я также попытался убедиться, что прямоугольник действительно подходит в кадре.
Я уверен, что моя камера работает, так как я могу успешно imshow
рама.