Untitled
unknown
plain_text
a year ago
1.5 kB
4
Indexable
import cv2 import numpy as np def detect_fire(frame): # Converteste imaginea din BGR in HSV hsv_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # Defineste intervalul de culoare pentru detectarea focului lower_red = np.array([0, 120, 70]) upper_red = np.array([10, 255, 255]) mask1 = cv2.inRange(hsv_frame, lower_red, upper_red) # Defineste un alt interval de culoare lower_red = np.array([170, 120, 70]) upper_red = np.array([180, 255, 255]) mask2 = cv2.inRange(hsv_frame, lower_red, upper_red) # Combina mastile pentru a obtine masca finala mask = mask1 + mask2 # Aplica o operatie de dilatare pe masca pentru a combina zonele adiacente detectate kernel = np.ones((5, 5), np.uint8) mask = cv2.dilate(mask, kernel, iterations=1) # Aplica masca pe cadru fire = cv2.bitwise_and(frame, frame, mask=mask) # Returneaza rezultatul return fire # Captureaza video cap = cv2.VideoCapture('path_to_your_video.mp4') while True: ret, frame = cap.read() if not ret: break # Aplica functia de detectare a focului fire_frame = detect_fire(frame) # Afiseaza rezultatul cv2.imshow('Fire Detection', fire_frame) # Iesi din bucla daca utilizatorul apasa 'q' if cv2.waitKey(1) & 0xFF == ord('q'): break # Elibereaza captura si inchide toate ferestrele cap.release() cv2.destroyAllWindows()
Editor is loading...
Leave a Comment