Testys commited on
Commit
d78d683
Β·
verified Β·
1 Parent(s): b36b7cd

Update src/detection/strategies/geometric.py

Browse files
src/detection/strategies/geometric.py CHANGED
@@ -26,6 +26,10 @@ class GeometricProcessor(BaseProcessor):
26
  self.MOUTH = [61, 291, 39, 181, 0, 17, 84, 178]
27
 
28
  def process_frame(self, frame):
 
 
 
 
29
  h, w, _ = frame.shape
30
  gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
31
  brightness = np.mean(gray)
@@ -46,8 +50,7 @@ class GeometricProcessor(BaseProcessor):
46
  score = 0
47
  weights = self.settings['indicator_weights']
48
 
49
- # --- Draw Facial Landmarks (Logic Added Back) ---
50
- # This will draw the green dots for eyes and mouth.
51
  eye_mouth_landmarks = self.L_EYE + self.R_EYE + self.MOUTH
52
  for idx in eye_mouth_landmarks:
53
  lm = landmarks[idx]
 
26
  self.MOUTH = [61, 291, 39, 181, 0, 17, 84, 178]
27
 
28
  def process_frame(self, frame):
29
+ # --- CRITICAL FIX ---
30
+ # Create a writable copy of the frame to prevent read-only errors.
31
+ frame = frame.copy()
32
+
33
  h, w, _ = frame.shape
34
  gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
35
  brightness = np.mean(gray)
 
50
  score = 0
51
  weights = self.settings['indicator_weights']
52
 
53
+ # --- Draw Facial Landmarks ---
 
54
  eye_mouth_landmarks = self.L_EYE + self.R_EYE + self.MOUTH
55
  for idx in eye_mouth_landmarks:
56
  lm = landmarks[idx]