-
Notifications
You must be signed in to change notification settings - Fork 0
/
fire_detect_realtime.py
26 lines (26 loc) · 1.13 KB
/
fire_detect_realtime.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import cv2
import numpy as np
from PIL import Image
import tensorflow as tf
from keras.preprocessing import image#Load the saved model
model = tf.keras.models.load_model('D:\\fire_detect\\fire_detected_InceptionV3.h5')
video = cv2.VideoCapture(0)
while True:
_, frame = video.read() #Convert the captured frame into RGB
im = Image.fromarray(frame, 'RGB') #Resizing into 224x224 because we trained the model with this image size.
im = im.resize((224, 224))
img_array = image.img_to_array(im)
img_array = np.expand_dims(img_array, axis=0) / 255
probabilities = model.predict(img_array)[0]
#Calling the predict method on model to predict 'fire' on the image
prediction = np.argmax(probabilities)
#if prediction is 0, which means there is fire in the frame.
if prediction == 0:
frame = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
print(probabilities[prediction])
cv2.imshow("Capturing", frame)
key = cv2.waitKey(1)
if key == ord('q'):
break
video.release()
cv2.destroyAllWindows()