From 3525aed134d13384f791b2aa1c0c18a81167871f Mon Sep 17 00:00:00 2001 From: Prohurtz <48768484+RedHawk989@users.noreply.github.com> Date: Fri, 17 Mar 2023 16:26:01 -0500 Subject: [PATCH] safe crop on IBO --- EyeTrackApp/intensity_eye_open.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/EyeTrackApp/intensity_eye_open.py b/EyeTrackApp/intensity_eye_open.py index a530128..4cd0a11 100644 --- a/EyeTrackApp/intensity_eye_open.py +++ b/EyeTrackApp/intensity_eye_open.py @@ -3,6 +3,7 @@ import time import os import cv2 from enums import EyeLR +from utils.img_utils import safe_crop #higher intensity means more closed/ more white/less pupil #Hm I need an acronym for this, any ideas? @@ -149,7 +150,8 @@ class IntensityBasedOpeness: upper_y = min(int_y + 25, frame.shape[0]) lower_y = max(int_y - 25, 0) - frame_crop = frame[lower_y:upper_y, lower_x:upper_x] + # frame_crop = frame[lower_y:upper_y, lower_x:upper_x] + frame_crop = safe_crop(frame, lower_x, lower_y, upper_x, upper_y, 1) # The same can be done with cv2.integral, but since there is only one area of the rectangle for which we want to know the total value, there is no advantage in terms of computational complexity. intensity = frame_crop.sum() + 1 # numpy:np.sum(),ndarray.sum()