Easy to use multi object tracking package based on colors 🎨
pip install color-tracker
pip install git+https://github.com/gaborvecsei/Color-Tracker.git
-
Check out the examples folder, or go straight to the sample tracking app which is an extended version of the script below. This script tracks the red-ish objects, if you'd like to track another color, then start with the
hsv_color_detector.py
script$ python examples/tracking.py --help usage: tracking.py [-h] [-low LOW LOW LOW] [-high HIGH HIGH HIGH] [-c CONTOUR_AREA] [-v] optional arguments: -h, --help show this help message and exit -low LOW LOW LOW, --low LOW LOW LOW Lower value for the HSV range. Default = 155, 103, 82 -high HIGH HIGH HIGH, --high HIGH HIGH HIGH Higher value for the HSV range. Default = 178, 255, 255 -c CONTOUR_AREA, --contour-area CONTOUR_AREA Minimum object contour area. This controls how small objects should be detected. Default = 2500 -v, --verbose
-
Simple script:
import cv2 import color_tracker def tracker_callback(t: color_tracker.ColorTracker): cv2.imshow("debug", t.debug_frame) cv2.waitKey(1) tracker = color_tracker.ColorTracker(max_nb_of_objects=1, max_nb_of_points=20, debug=True) tracker.set_tracking_callback(tracker_callback) with color_tracker.WebCamera() as cam: # Define your custom Lower and Upper HSV values tracker.track(cam, [155, 103, 82], [178, 255, 255], max_skipped_frames=24)
This is a tool which you can use to easily determine the necessary HSV color values and kernel sizes for you app
You can find the HSV Color Detector code here
python examples/hsv_color_detector.py
If you feel like it is a useful package and it saved you time and effor, then you can donate a coffe for me, so I can keep on staying awake for days 😃
Gábor Vecsei
@misc{vecsei2018colortracker,
doi = {10.5281/ZENODO.4097717},
howpublished={\url{https://github.com/gaborvecsei/Color-Tracker}},
author = {Gabor Vecsei},
title = {Color Tracker - Multi Object Tracker},
year = {2018},
copyright = {MIT License}
}