From e1c28a874a5cef7772388d4994f1b200ae81e143 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Thu, 4 Jul 2024 18:55:46 +0200 Subject: [PATCH] - util: image_crop no round - construct tracker object in constructor --- ocv_corner_tracker.py | 3 +-- util.py | 14 ++++++-------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/ocv_corner_tracker.py b/ocv_corner_tracker.py index 33ea789..98d760f 100644 --- a/ocv_corner_tracker.py +++ b/ocv_corner_tracker.py @@ -106,7 +106,7 @@ class CornerTracker: self.matching_tpl_img = None self.tracking_bb = None self.tracking_img = None - self.tracker = None + self.tracker = cv2.TrackerKCF.create() self.corner_ref = None self.corner_matcher_list = [] @@ -166,7 +166,6 @@ class CornerTracker: return False # Initialize tracker with first frame and bounding box - self.tracker = cv2.TrackerKCF().create() self.tracker.init(_image, self.tracking_ref_bb) # Refine initial corners and store them as reference diff --git a/util.py b/util.py index 452cc21..29a685a 100644 --- a/util.py +++ b/util.py @@ -1,5 +1,4 @@ import cv2 -import sys import numpy as np import imutils as im @@ -34,19 +33,18 @@ def bbox_center(bbox): return x, y -def bbox_extend(bbox: cv2.typing.Rect, factor: float = 0): +def bbox_extend(bbox: np.array, factor: float = 0): we2 = bbox[2]*factor/2 he2 = bbox[3]*factor/2 return bbox_round((bbox[0]-we2, bbox[1]-he2, bbox[2]+2*we2, bbox[3]+2*he2)) -def image_crop(src, bbox: cv2.typing.Rect): - bb = bbox_round(bbox) - x = bb[0] - y = bb[1] - w = bb[2] - h = bb[3] +def image_crop(src, bbox: np.array): + x = int(bbox[0]) + y = int(bbox[1]) + w = int(bbox[2]) + h = int(bbox[3]) dst = src[y:y+h, x:x+w] return dst