Я хочу создать программу, которая показывает мою веб-камеру в режиме реального времени, используя OpenCV, и всякий раз, когда я нажимаю SPACE, она делает снимок.
Я использую Python 3.6.4 и OpenCV 4.1.1. Это для программы, которая с помощью tenorflow сделает снимок и узнает, есть ли кто-то из базы данных или нет. Это мой текущий код:
cam = cv2.VideoCapture(0)
img_counter = 0
while True:
ret, frame = cam.read()
if not cam.isOpened():
raise IOError("Cannot use webcam")
elif cam.isOpened():
cv2.imshow('frame', frame)
if not ret:
break
if cv2.waitKey(1) == 27:
#ESC pressed
break
elif cv2.waitKey(1) == 32:
#SPACE pressed
img_name = 'students_{}.png'.format(img_counter)
cv2.imwrite(img_name, frame)
print(img_name + 'was captured')
img_counter += 1
cam.release()
cv2.destroyAllWindows()
, когда я его запускаю, возникает эта ошибка:
cv2.error: OpenCV (4.1.1) C: \ projects \ opencv-python \opencv \ modules \ highgui \ src \ window.cpp: 352: ошибка: (-215: утверждение не выполнено) size.width> 0 && size.height> 0 в функции 'cv :: imshow'
Моя цельпрямо сейчас - заставить его показать веб-камеру, сделать снимок и сохранить его в папках проекта.
Кто-нибудь знает, что не так? Или есть в тензорном потоке такая особенность, что мне не нужно использовать openCV? Большое спасибо, Габи