J'essaie de classer les objets capturés à partir de ma webcam embarquée sur mon ordinateur portable en utilisant python. Voici le code que je modifié de ce lien http://www.pyimagesearch.com/2016/08/10/imagenet-classification-with-python-and-keras/Comment classer les objets de la webcam en python
from keras.preprocessing import image as image_utils
from imagenet_utils import decode_predictions
from imagenet_utils import preprocess_input
from squeezenet import squeeze
import numpy as np
import cv2
camera = cv2.VideoCapture(0)
while True:
ret, frame = camera.read()
print("[INFO] loading and preprocessing image...")
image = image_utils.load_img(camera)
image = image_utils.img_to_array(image)
image = np.expand_dims(image, axis=0)
image = preprocess_input(image)
print("[INFO] loading network...")
model = squeeze(weights = "imagenet")
#classify the image
print("[INFO] classifying image...")
preds = model.predict(image)
(inID, label) = decode_predictions(preds)[0]
print("ImageNet ID: {}, Label: {}".format(inID, label))
cv2.putText(orig, "Label: {}".format(label), (10, 30),
cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)
cv2.imshow("Classification", camera)
cv2.waitKey(0)
camera.release()
cv2.destroyAllWindows()
Je suis nouveau dans le classement image/objet en utilisant python alors pardonnez-moi si ce code modifié semble stupide.
J'exécuter le code et renvoyer une erreur de type comme celui-ci
Using Theano backend.
Using gpu device 0: GeForce 920MX (CNMeM is disabled, cuDNN 5005)
[INFO] loading and preprocessing image...
Traceback (most recent call last):
File "camdetect.py", line 13, in <module>
image = image_utils.load_img(camera)
File "/usr/local/lib/python2.7/dist-packages/keras/preprocessing/image.py", line 165, in load_img
img = Image.open(path)
File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 2285, in open
fp = io.BytesIO(fp.read())
TypeError: 'tuple' does not have the buffer interface
J'ai essayé de chercher l'erreur mais n'a pas trouvé de réponse.
Ma question est de savoir comment classer les objets capturés à partir de la webcam? et s'il y a une suggestion sur la façon dont je peux réécrire ce code ou peut-être résoudre l'erreur sera bonne aussi.
Merci d'avance.