blob: c093e3bc3f7d400fd998e950ccd0b468b655bf57 [file] [log] [blame]
Brian Silvermanfac9b872020-02-05 20:07:38 -08001include "y2020/vision/sift/sift.fbs";
2
3namespace frc971.vision.sift;
4
5// Represents a single image we train against.
6table TrainingImage {
Austin Schuhd7851b02020-11-14 13:46:27 -08007 features:[Feature] (id: 0);
Brian Silvermanfac9b872020-02-05 20:07:38 -08008
9 // Field coordinates of the target, represented as a transformation matrix
10 // from the target to the field. See CameraPose in :sift_fbs for details of
11 // the conventions of this.
Austin Schuhd7851b02020-11-14 13:46:27 -080012 field_to_target:TransformationMatrix (id: 1);
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -080013
14 // 2D image coordinate representing target location on the training image
Austin Schuhd7851b02020-11-14 13:46:27 -080015 target_point_x:float (id: 2);
16 target_point_y:float (id: 3);
Jim Ostrowski18f7fbf2020-03-01 13:53:22 -080017 // Radius of target circle
Austin Schuhd7851b02020-11-14 13:46:27 -080018 target_point_radius:float (id: 4);
Brian Silvermanfac9b872020-02-05 20:07:38 -080019}
20
21// Represents the information used to match incoming images against.
22table TrainingData {
Austin Schuhd7851b02020-11-14 13:46:27 -080023 images:[TrainingImage] (id: 0);
Brian Silverman4d4a70d2020-02-17 13:03:19 -080024
25 // Calibration information for all the cameras we know about.
Austin Schuhd7851b02020-11-14 13:46:27 -080026 camera_calibrations:[CameraCalibration] (id: 1);
Brian Silvermanfac9b872020-02-05 20:07:38 -080027}
28
29root_type TrainingData;