Initial commit
This commit is contained in:
40
Tensorflow/tutoriel19-2/detection.py
Normal file
40
Tensorflow/tutoriel19-2/detection.py
Normal file
@@ -0,0 +1,40 @@
|
||||
import tensorflow as tf
|
||||
import os
|
||||
import numpy as np
|
||||
import cv2
|
||||
|
||||
width=200
|
||||
height=125
|
||||
|
||||
dir='dataC/'
|
||||
|
||||
tab_color=[(255, 0, 0), (255, 0, 255)]
|
||||
tab_label=['Voiture', 'Signalisation']
|
||||
tab_value=[0.2, 0.2]
|
||||
tab_surface=[500, 200]
|
||||
|
||||
with tf.Session() as s:
|
||||
saver=tf.train.import_meta_graph('./mon_modele/modele.meta')
|
||||
saver.restore(s, tf.train.latest_checkpoint('./mon_modele/'))
|
||||
graph=tf.get_default_graph()
|
||||
images=graph.get_tensor_by_name("entree:0")
|
||||
sortie=graph.get_tensor_by_name("sortie:0")
|
||||
l=os.listdir(dir+"CameraRGB/")
|
||||
l=sorted(l)
|
||||
for file in l:
|
||||
img=cv2.imread(dir+"CameraRGB/"+file)[0:500, :]
|
||||
prediction=s.run(sortie, feed_dict={images: [cv2.resize(img, (width, height))/255]})
|
||||
for m in range(prediction[0].shape[-1]):
|
||||
mask=np.zeros(shape=(prediction[0].shape[0], prediction[0].shape[1]))
|
||||
mask[prediction[0][:, :, m]>tab_value[m]]=1.
|
||||
mask=cv2.resize(mask, (4*width, 4*height))
|
||||
elements=cv2.findContours(mask.astype(np.uint8), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]
|
||||
for e in elements:
|
||||
if cv2.contourArea(e)>tab_surface[m]:
|
||||
x,y,w,h = cv2.boundingRect(e)
|
||||
cv2.putText(img, tab_label[m], (x, y-10), cv2.FONT_HERSHEY_DUPLEX, 0.7, tab_color[m], 2)
|
||||
cv2.rectangle(img, (x, y), (x+w, y+h), tab_color[m], 2)
|
||||
cv2.imshow("Resultat", img)
|
||||
key=cv2.waitKey()&0xFF
|
||||
if key==ord('q'):
|
||||
break
|
||||
Reference in New Issue
Block a user