Vision - sgvhak/airhockey-project GitHub Wiki
Goals:
- Recreate original project capabilities
- Sense location of puck and robot paddle
- Predict location to intercept
- Calibrate table shape on startup
- Use Kinect depth field
- Skew frames for rectangular table
- Implement offensive play, give puck additional velocity from translating during intercept
- Add mistakes to robot player
- Calibrate robot paddle
Camera:
- http://en.wikipedia.org/wiki/PlayStation_Eye
- Needs to be about 38" from table top to get a 46" wide table into the frame
Tutorials:
- CPP - http://docs.opencv.org/doc/tutorials/tutorials.html
- Python - http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_tutorials.html
Original Code:
NOTE: Original code uses older OpenCV v1.0 interface. Should use v2.0 interfaces from here onward.
Color Detection using cvInRangeS:
- http://opencv-srf.blogspot.com/2010/09/object-detection-using-color-seperation.html
- http://www.aishack.in/2010/07/tracking-colored-objects-in-opencv/
- http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_imgproc/py_colorspaces/py_colorspaces.html
Figuring out HSV ranges to use: Image manipulation programs like gimp uses H = 0-360, S = 0-100 and V = 0-100. But OpenCV uses H: 0 - 180, S: 0 - 255, V: 0 - 255.
OpenCV color ranges info:
- https://stackoverflow.com/questions/10948589/choosing-correct-hsv-values-for-opencv-thresholding-with-inranges
- http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html#cvtcolor
Contour Detection