Ошибка при выполнении кода распознавания жестов с помощью веб-камеры в python CV2 - PullRequest
0 голосов
/ 05 августа 2020

Я получаю ошибку ниже при выполнении кода веб-камеры CV2 на основе python

ошибка: OpenCV (4.2.0) C: \ projects \ opencv-python \ opencv \ modules \ core \ src \ array. cpp: 2492: error: (-206: Bad flag (параметр или поле структуры)) Нераспознанный или неподдерживаемый тип массива в функции cvGetMat

Мой код работает нормально используя ручные изображения, но когда я выполняю его с веб-камерой, я получаю ошибку выше. Ниже приведен код.

import tensorflow as tf
import matplotlib.pyplot as plt
from tensorflow import keras
import numpy as np
import pandas as pd
from PIL import Image
import cv2
import os
#loading the trained model

model = keras.models.load_model('mymodel.h5')

cap = cv2.VideoCapture(0)

while True:
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    img=cv2.resize(gray, (150,150))
    img = cv2.GaussianBlur(img,(5,5),0)
    ret,img = cv2.threshold(img, 200, 255, cv2.THRESH_BINARY)
    img_arr = np.array(img)



    processed_image = np.array(img_arr, dtype = 'float32')
    

    processed_image = processed_image.reshape((len("1"), 150, 150, 1))
    processed_image = processed_image/255.
    y_pred= model.predict_classes(processed_image)
    y_pred
    classes = {0:'C', 1:'Down', 2:'Fist', 3:'Fist_moved',4:'Index', 5:'L', 6:'Ok', 7:'Palm', 8:'Palm_moved', 9:'Thumb'}
    classes
    predicted = [classes.get(item,item)  for item in y_pred]
    predicted
    columns=5
    rows=4
    
    cv2.imshow('Video',processed_image)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
           
cap.release()
cv2.destroyAllWindows()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...