📄️ Setting up Camera/Intro to Computer Vision Tools
* Official FTC Camera Docs
📄️ Intro to OpenCV
* EasyOpenCV Library Page - Go through the Readme file for installation instructions. Must read!
📄️ Intro to Vuforia
Vuforia is a library often used with vision detection for FTC. To use Vuforia, you will need to obtain a Vuforia license key. Luckily, this process is simple and steps can be found here.
📄️ Streaming Frames
Once you have your camera plugged in and set up, you actually need to stream the frame and get your camera to record the frames. Both OpenCV and Vuforia make this relatively easy.
📄️ Color Thresholding
WPLib's Page on Color Thresholding - Must Read!*
📄️ Intro to FTC Vision Portal
As of the 2023-2024 season, there have been some changes made to the standard systems made for computer vision that teams have been used to. The FTC SDK has released a new Vision Portal, which incorporates all vision tools within the SDK without the need for external libraries.
📄️ VisionProcessor Class
As stated before, instead of using OpenCVPipeline, we should be using the VisionProcessor in our detection classes. Your setup for a new frame processor should look something like this.
📄️ VisionProcessor OpMode
The usage for the Vision Processor within the OpMode also differs a bit than previous years. The first step is to initalize the Vision Portal, this can be done through the VisionPortal.Builder() class.
📄️ VisionPortal Thresholding
Now that we have the basics of VisionPortal down, we can start thresholding the frames for our desired task. The color thresholding is still rooted in OpenCV, so this part will be very similar to Color Thresholding with EasyOpenCV. In CENTERSTAGE teams need to build a vision detector system that can detect a red or blue prop. The following code shows an example of how this pipeline can be done with color thresholding.
📄️ April Tags
https://ftc-docs.firstinspires.org/en/latest/apriltag/visionportal/apriltagintro/apriltag-intro.html
📄️ Linear Regression
Oftentimes when looking to detect an object, a linear regression model is used to estimate the position of the object away from the robot.
📄️ Machine Learning Toolchain
* FTC Machine Learning Docs
📄️ Object Distance Estimation
This module shows you how to estimate the distance of a detected game element.
📄️ Object Tracking / Driving to an Object
* Our Page on Object Distance Estimation
📄️ Computer Vision Simulators
Using simulation software you can use images that you have saved from the robot's camera steam to test your computer vision code without a physical robot.