- additional pre-tracking is command line param

- empty mask now legal
- added images 0013/sequential
This commit is contained in:
2024-07-06 10:16:13 +02:00
parent 0046356adf
commit 99d624a06a
3599 changed files with 8 additions and 5 deletions
+8 -5
View File
@@ -19,7 +19,6 @@ TEMPLATE_MATCH_OVERLAP = 0
CONSOLE_DEBUG = False
IMAGE_DEBUG = False
DO_TRACKING = False
class Corner:
@@ -101,7 +100,8 @@ class Corner:
class CornerTracker:
def __init__(self, color=(0, 255, 0), name: str = 'CornerTracker'):
def __init__(self, do_track, color=(0, 255, 0), name: str = 'CornerTracker'):
self.do_track = do_track
self.color = color
self.name = name
self.matching_tpl_bb = None
@@ -142,7 +142,7 @@ class CornerTracker:
bb = cv2.selectROI("Tracker Reference", _image, False)
cv2.destroyWindow("Tracker Reference")
if bbox_center(bb) == (0, 0):
return False
bb = (0, 0, _image.shape[1], _image.shape[0])
rect_upper_left = (bb[0], bb[1])
rect_lower_right = (bb[0] + bb[2], bb[1] + bb[3])
@@ -209,7 +209,7 @@ class CornerTracker:
return False
# Initialize tracker with first frame and bounding box
if DO_TRACKING:
if self.do_track:
self.tracker = cv2.TrackerKCF.create()
self.tracker.init(_image, self.tracking_bb)
@@ -321,6 +321,7 @@ if __name__ == '__main__':
parser = argparse.ArgumentParser(description="Gearbox Tracker")
parser.add_argument("filename")
parser.add_argument("--scale")
parser.add_argument("--track", action="store_true")
args = parser.parse_args()
video = cv2.VideoCapture(args.filename)
@@ -329,6 +330,8 @@ if __name__ == '__main__':
if args.scale is not None:
scale = np.float32(args.scale)
do_track = args.track is not None
# Let's go
colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 0, 255), (0, 255, 255), (255, 255, 255)]
tracker_count = 0
@@ -340,7 +343,7 @@ if __name__ == '__main__':
for tracker_count in range(0, 6):
select_window = image.copy()
print(f"Add tracker #{tracker_count}")
ct = CornerTracker(colors[tracker_count], name=f"Tracker-{tracker_count}")
ct = CornerTracker(do_track, colors[tracker_count], name=f"Tracker-{tracker_count}")
ok = ct.init_reference_frame(select_window)
if ok:
tracker_list.append(ct)