- additional pre-tracking is command line param
- empty mask now legal - added images 0013/sequential
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user