Skip to content

gaborvecsei/Color-Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codacy Badge PyPI version License: MIT Python 3 DOI

Color Tracker - Multi Object Tracker

Easy to use multi object tracking package based on colors 🎨

yellow-cruiser ball-tracking

Install

pip install color-tracker
pip install git+https://github.com/gaborvecsei/Color-Tracker.git

Object Tracker

  • 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)

Color Range Detection

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

Donate ☕

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 😃

Buy Me a Coffee at ko-fi.com

About

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}
}