18 #ifndef __VISIONAPI_H__
19 #define __VISIONAPI_H__
25 #define DEFAULT_BORDER_SIZE 3 //VisionAPI.frcCreateImage
26 #define DEFAULT_SATURATION_THRESHOLD 40 //TrackAPI.FindColor
29 typedef struct FindEdgeOptions_struct FindEdgeOptions;
30 typedef struct CircularEdgeReport_struct CircularEdgeReport;
38 double imageTimestamp;
46 double center_mass_x_normalized;
47 double center_mass_y_normalized;
53 double particleToImagePercent;
55 double particleQuality;
60 int numberParticlesFound;
61 int largestParticleNumber;
65 float particleHueMean;
68 float particleSatMean;
71 float particleLumMean;
78 Image* frcCreateImage( ImageType type );
81 int frcDispose(
void*
object );
82 int frcDispose(
const char* filename, ... ) ;
85 int frcCopyImage( Image* dest,
const Image* source );
88 int frcCrop( Image* dest,
const Image* source,
Rect rect );
91 int frcScale(Image* dest,
const Image* source,
int xScale,
int yScale, ScalingMode scaleMode );
94 int frcReadImage( Image* image,
const char* fileName );
96 int frcWriteImage(
const Image* image,
const char* fileName);
101 HistogramReport* frcHistogram(
const Image* image,
int numClasses,
float min,
float max,
Rect rect );
103 ColorHistogramReport* frcColorHistogram(
const Image* image,
int numClasses, ColorMode mode, Image* mask);
106 int frcGetPixelValue(
const Image* image,
Point pixel,
PixelValue* value );
116 int frcMorphology(Image* dest, Image* source, MorphologyMethod method);
117 int frcMorphology(Image* dest, Image* source, MorphologyMethod method,
const StructuringElement* structuringElement);
119 int frcRejectBorder(Image* dest, Image* source);
120 int frcRejectBorder(Image* dest, Image* source,
int connectivity8);
122 int frcCountParticles(Image* image,
int* numParticles);
129 int frcEqualize(Image* dest,
const Image* source,
float min,
float max);
130 int frcEqualize(Image* dest,
const Image* source,
float min,
float max,
const Image* mask);
133 int frcColorEqualize(Image* dest,
const Image* source);
134 int frcColorEqualize(Image* dest,
const Image* source,
int colorEqualization);
139 int frcSmartThreshold(Image* dest,
const Image* source,
unsigned int windowWidth,
unsigned int windowHeight,
140 LocalThresholdMethod method,
double deviationWeight, ObjectType type);
141 int frcSmartThreshold(Image* dest,
const Image* source,
unsigned int windowWidth,
unsigned int windowHeight,
142 LocalThresholdMethod method,
double deviationWeight, ObjectType type,
float replaceValue);
145 int frcSimpleThreshold(Image* dest,
const Image* source,
float rangeMin,
float rangeMax,
float newValue);
146 int frcSimpleThreshold(Image* dest,
const Image* source,
float rangeMin,
float rangeMax);
149 int frcColorThreshold(Image* dest,
const Image* source, ColorMode mode,
150 const Range* plane1Range,
const Range* plane2Range,
const Range* plane3Range);
151 int frcColorThreshold(Image* dest,
const Image* source,
int replaceValue, ColorMode mode,
152 const Range* plane1Range,
const Range* plane2Range,
const Range* plane3Range);
153 int frcHueThreshold(Image* dest,
const Image* source,
const Range* hueRange);
154 int frcHueThreshold(Image* dest,
const Image* source,
const Range* hueRange,
int minSaturation);
157 int frcExtractColorPlanes(
const Image* image, ColorMode mode, Image* plane1, Image* plane2, Image* plane3);
158 int frcExtractHuePlane(
const Image* image, Image* huePlane);
159 int frcExtractHuePlane(
const Image* image, Image* huePlane,
int minSaturation);