Skip to content
Paula Rudy edited this page Nov 8, 2015 · 10 revisions

What is GRIP?

GRIP (the Graphically Represented Image Processing engine) is a program for rapidly prototyping and deploying computer vision algorithms, primarily for robotics applications. It is currently in a very early state of development.

Why GRIP?

Teams participating the FIRST Robotics Competition are often presented with challenges requiring the use of computer vision for extra points. To aid in this, students participating in FIRST are given access to industry‐grade computer vision toolkits, such as OpenCV and the NI Vision software. However, the six‐week build season required by FIRST makes it hard for teams to invest time in learning new programming languages and SDKs, or experiment with algorithms and parameters.

GRIP is our attempt to solve this problem by providing software for computer vision that is easy to learn, experiment with, and deploy!

##How was GRIP made?

We used the JavaFX platform and OpenCV to make GRIP.

##How can you help?

Our goals are to make GRIP :

* User-friendly!

We want to make using GRIP as intuitive as possible for all your most common computer vision tasks. We're currently working on this with help from FIRST team beta-testers, who will be using GRIP to try to solve this year's vision challenge.

* Portable!

We want GRIP to operate smoothly on Windows, Mac, AND Linux machines, as well as able to run without graphics on an embedded Linux ARM processor.

* Fast!

We believe you should never have to trade adequate performance for ease of use!

If you have any suggestions to help us in these goals, you can contact us by gitter (https://gitter.im/WPIRoboticsProjects/GRIP)

Glossary:

Here's some definitions that might be helpful!

Operation: A primitive operation in a computer vision algorithm, such as a threshold, Gaussian blur, or Canny edge detector. Operations also include utilities such as switching between multiple steps or filtering a list Step: An instance of an operation in a pipeline, which is associated with multiple sockets and connections. Socket: An input or output of a step. Inputs are referred to as input sockets, and outputs as output sockets. Each socket has an associated value. Connection: An association between an output socket and an input socket. When a connection exists, any change in the value of an output socket results in the the value of the input socket also changing to the same value. Pipeline: A series of steps and connections.