AutoRef Honors2019 vision: Difference between revisions
No edit summary |
|||
Line 17: | Line 17: | ||
= Line detection = | = Line detection = | ||
In contrast to the ball detection the line detection is made to work in the simulation and needs to be adapted to work on the actual drone. The main function used for detecting lines, or line segments to be more exact, is the HoughLinesP function from the before mentioned cv2 package, this function detects straight line segments in pictures from contrast in color. To now only detect the line segments we want to detect we applied filters and selections, each will be described below using an example image. |
Revision as of 13:47, 24 May 2020
AutoRef Honors 2019 - Vision
Ball tracking
To track the ball from the drone camera a python code was found and adapted. To track the ball a threshold in HSV color space is needed, this threshold represents a range of colors that the ball can show on camera due to different lighting.
The first thing the code will do is grab a frame from the video and make it into a standard size and apply a blur filter to create a less detailed image. Then all of the image that is not the color of the ball is made black, and more filters are applied to remove small parts in the image with the same color as the ball. Now a few functions of the cv2 package are used to encircle the largest piece of the image with the color of the ball. Then the center and radius of this circle are identified. A problem we ran into was that the ball was sometimes detected in an incorrect position due to a color flickering, we then added a feature to only look for the ball in the same region of the image where the ball was detected in the previous frame.
More on the code can be found here https://www.pyimagesearch.com/2015/09/14/ball-tracking-with-opencv/
Line detection
In contrast to the ball detection the line detection is made to work in the simulation and needs to be adapted to work on the actual drone. The main function used for detecting lines, or line segments to be more exact, is the HoughLinesP function from the before mentioned cv2 package, this function detects straight line segments in pictures from contrast in color. To now only detect the line segments we want to detect we applied filters and selections, each will be described below using an example image.