The vision System's task is to take the inputs from the camera ans spit out a DynamicWorld object with all the information in it. It is split into several pipeline stages:
No. | Stage | Inputs | Outputs | ||
1 | Input Selection | Various | BufferedImage | ||
2 | Spot Analysis | BufferedImage | HashMap<SDPColor,ArrayList<Spot>> | ||
3 | Undistortion | HashMap<SDPColor,ArrayList<Spot>> | HashMap<SDPColor,ArrayList<Spot>> | ||
4 | Robot Analysis | HashMap<SDPColor,ArrayList<Spot>> | DynamicWorld | ||
5 | Time Analysis | DynamicWorld | DynamicWorld |
The DynamicWorld that is spat out of the Vision System looks like this:
This is a diagram of the pipeline: