Now you can download a copy of these docs so you can use them offline! Download now
TrackAPI.h
1 /********************************************************************************
2 * Project : FIRST Motor Controller
3 * File Name : TrackAPI.h
4 * Contributors : ELF
5 * Creation Date : August 12, 2008
6 * Revision History : Source code & revision history maintained at sourceforge.WPI.edu
7 * File Description : Globally defined values for the FIRST Vision API
8 */
9 /*----------------------------------------------------------------------------*/
10 /* Copyright (c) FIRST 2008. All Rights Reserved. */
11 /* Open Source Software - may be modified and shared by FRC teams. The code */
12 /* must be accompanied by the FIRST BSD license file in $(WIND_BASE)/WPILib. */
13 /*----------------------------------------------------------------------------*/
14 
15 #ifndef __TRACKAPI_H__
16 #define __TRACKAPI_H__
17 
18 #include "VisionAPI.h"
19 #include "BaeUtilities.h"
20 
21 /* Constants */
27 #define PARTICLE_TO_IMAGE_PERCENT 0.01
28 
29 /* Structures */
30 typedef struct TrackingThreshold_struct {
31  char name[64];
32  Range hue;
33  Range saturation;
34  Range luminance;
36 
37 /* Enumerated Types */
38 
40 typedef enum FrcHue_enum {
41  // Basic colors
42  RED, GREEN, BLUE, YELLOW, ORANGE, PURPLE, WHITE, PINK
43 }FrcHue;
44 
46 typedef enum FrcLight_enum {
47  PASSIVE_LIGHT, BRIGHT_LIGHT, ACTIVE_LIGHT, WHITE_LIGHT, FLUORESCENT
48 }FrcLight;
49 
50 /* color tracking support functions */
51 TrackingThreshold GetTrackingData(FrcHue hue, FrcLight light);
52 
53 void PrintReport(ParticleAnalysisReport* myReport);
54 void PrintReport(ColorReport* myReport);
55 void PrintReport(TrackingThreshold* myReport);
56 
57 /* Tracking functions */
58 
59 /* find a color in current camera image */
60 bool InArea(Image* binaryImage, int particleIndex, Rect rect);
61 int GetLargestParticle(Image* binaryImage, int* particleNum);
62 int GetLargestParticle(Image* binaryImage, int* particleNum, Rect rect);
63 int FindColor(FrcHue color, ParticleAnalysisReport* trackReport);
64 int FindColor(const Range* hueRange, ParticleAnalysisReport *trackReport);
65 int FindColor(const Range* hueRange, int minSaturation, ParticleAnalysisReport *trackReport);
66 int FindColor(ColorMode mode, const Range* plane1Range, const Range* plane2Range,
67  const Range* plane3Range, ParticleAnalysisReport *trackReport);
68 int FindColor(ColorMode mode, const Range* plane1Range, const Range* plane2Range,
69  const Range* plane3Range, ParticleAnalysisReport *trackReport, ColorReport *colorReport);
70 int FindColor(ColorMode mode, const Range* plane1Range, const Range* plane2Range,
71  const Range* plane3Range, ParticleAnalysisReport *trackReport,
72  ColorReport *colorReport, Rect rect);
73 #endif
74 

Generated on Sat Apr 26 2014 12:26:45 for WPILibC++ by doxygen 1.8.6