AjaykumarPilla commited on
Commit
7b4b7ca
·
verified ·
1 Parent(s): 8c696d3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -3
app.py CHANGED
@@ -31,7 +31,7 @@ BATCH_SIZE = 4 # Process 4 frames at a time
31
 
32
  # Load model
33
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
34
- model = attempt_load("yolov5s.pt") # Load yolov5s.pt instead of best.pt
35
  model.to(device).eval() # Move model to device and set to evaluation mode
36
 
37
  # Function to process video and detect ball
@@ -240,14 +240,18 @@ def drs_analysis(video):
240
  # Overlay pitch map in top-right corner
241
  if pitch_x is not None and pitch_y is not None:
242
  map_width = 200
243
- map_height = int(map_width * PITCH_LENGTH / PITCH_WIDTH)
 
244
  pitch_map = np.zeros((map_height, map_width, 3), dtype=np.uint8)
245
  pitch_map[:] = (0, 255, 0) # Green pitch
246
  cv2.rectangle(pitch_map, (0, map_height-10), (map_width, map_height), (0, 51, 51), -1) # Brown stumps
247
  bounce_x = int((pitch_x + PITCH_WIDTH/2) / PITCH_WIDTH * map_width)
248
  bounce_y = int((1 - pitch_y / PITCH_LENGTH) * map_height)
249
  cv2.circle(pitch_map, (bounce_x, bounce_y), 5, (0, 0, 255), -1) # Red bounce point
250
- frame[0:map_height, frame_width-map_width:frame_width] = cv2.resize(pitch_map, (map_width, map_height))
 
 
 
251
 
252
  # Add text annotations
253
  text = f"LBW: {lbw_decision}\nSpeed: {speed_kmh:.2f} km/h"
 
31
 
32
  # Load model
33
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
34
+ model = attempt_load("yolov5s.pt") # Load yolov5s.pt
35
  model.to(device).eval() # Move model to device and set to evaluation mode
36
 
37
  # Function to process video and detect ball
 
240
  # Overlay pitch map in top-right corner
241
  if pitch_x is not None and pitch_y is not None:
242
  map_width = 200
243
+ # Cap map_height to 25% of frame height to ensure it fits
244
+ map_height = min(int(map_width * PITCH_LENGTH / PITCH_WIDTH), frame_height // 4)
245
  pitch_map = np.zeros((map_height, map_width, 3), dtype=np.uint8)
246
  pitch_map[:] = (0, 255, 0) # Green pitch
247
  cv2.rectangle(pitch_map, (0, map_height-10), (map_width, map_height), (0, 51, 51), -1) # Brown stumps
248
  bounce_x = int((pitch_x + PITCH_WIDTH/2) / PITCH_WIDTH * map_width)
249
  bounce_y = int((1 - pitch_y / PITCH_LENGTH) * map_height)
250
  cv2.circle(pitch_map, (bounce_x, bounce_y), 5, (0, 0, 255), -1) # Red bounce point
251
+ # Ensure overlay fits within frame
252
+ overlay_region = frame[0:map_height, frame_width-map_width:frame_width]
253
+ if overlay_region.shape[0] >= map_height and overlay_region.shape[1] >= map_width:
254
+ frame[0:map_height, frame_width-map_width:frame_width] = cv2.resize(pitch_map, (map_width, map_height))
255
 
256
  # Add text annotations
257
  text = f"LBW: {lbw_decision}\nSpeed: {speed_kmh:.2f} km/h"