Inspiration

FIRST Robotics inspired me to make this programme, as computer vision is becoming a greater element in the games every year. The recent advances in artificial intelligence also inspired me to do this.

What it does

It finds rectangles and shapes based on colour from a network camera stream, and sends the coordinates of the centre of the largest rectangle and circle found via TCP to a given address (if identified)

How I built it

I built it using OpenCV, a powerful computer vision library. For an network camera, I used my android device and a free Android app available on the Play Store, called "IP Camera". To decrease latency, I used my own router.

Challenges I ran into

Denoising the images, and setting the correct thresholds required in order to properly identify shapes when presented with them was difficult

Accomplishments that I'm proud of

The algorithm used to tell the difference between a circle and rectangle is one thing that I'm very proud of. It puts a rectangle around a given blob, and then puts a circle around the blob, and decides which shape the blob fills more, which is the shape that the blob is.

What I learned

I learned a lot about computer vision algorithms, and image denoising. I also learned about socket programming in C++.

What's next for Shape Finder

I plan to implement this on robots (primarily in FIRST robotics), and use this programme to identify balls, and goals, to play a game. I also plan to have the programme identify the colour of the floor of the arena, in order to identify safe areas to drive, for autonomous movement.

Built With

Share this project:

Updates