| | import cv2 |
| | import tensorflow as tf |
| | import numpy as np |
| | model = tf.keras.models.load_model("crack_detector.h5") |
| |
|
| | |
| | url = "<Embedd-your-URL>" |
| | cap = cv2.VideoCapture(url) |
| |
|
| | while True: |
| | ret, frame = cap.read() |
| | if not ret: |
| | print("Failed to grab frame. Check IP/Port and make sure phone/laptop are on same WiFi.") |
| | break |
| | |
| | img = cv2.resize(frame, (224, 224)) |
| | img = img.astype("float32")/255.0 |
| | img = np.expand_dims(img, axis=0) |
| |
|
| | pred = model.predict(img, verbose=0)[0][0] |
| | label = "No Crack" if pred<0.9 else "Crack Detected" |
| |
|
| | color = (0,255,0) if label=="No Crack" else (0,0,255) |
| | cv2.putText(frame, label, (20,40), cv2.FONT_HERSHEY_SIMPLEX,1, color, 2) |
| |
|
| | cv2.imshow("Wall crack detection", frame) |
| | |
| | if cv2.waitKey(1) & 0xFF == ord('q'): |
| | break |
| |
|
| | cap.release() |
| | cv2.destroyAllWindows() |
| |
|