31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
import cv2
|
|
import numpy as np
|
|
import tensorflow as tf
|
|
|
|
cap=cv2.VideoCapture(0)
|
|
np.set_printoptions(formatter={'float': '{:0.3f}'.format})
|
|
with tf.Session() as s:
|
|
saver=tf.train.import_meta_graph('./mon_vgg/modele.meta')
|
|
saver.restore(s, tf.train.latest_checkpoint('./mon_vgg/'))
|
|
graph=tf.get_default_graph()
|
|
images=graph.get_tensor_by_name("images:0")
|
|
sortie=graph.get_tensor_by_name("sortie:0")
|
|
is_training=graph.get_tensor_by_name("is_training:0")
|
|
while True:
|
|
ret, frame=cap.read()
|
|
test=cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
|
|
test=cv2.resize(test, (28, 28))
|
|
for x in range(28):
|
|
for y in range(28):
|
|
if test[y][x]<110:
|
|
test[y][x]=1
|
|
else:
|
|
test[y][x]=0
|
|
cv2.imshow('image', cv2.resize(test, (120, 120))*255)
|
|
prediction=s.run(sortie, feed_dict={images: [test.reshape(28, 28, 1)], is_training: False})
|
|
print(prediction, np.argmax(prediction))
|
|
if cv2.waitKey(20)&0xFF==ord('q'):
|
|
break
|
|
cap.release()
|
|
cv2.destroyAllWindows()
|