segmentImageMerge2 Class Reference

Collaboration diagram for segmentImageMerge2:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 segmentImageMerge2 (int instances)
 default constructor, also sets up number of tracker instances
void resetAll (int instances)
void SIMsetCircleColor (int r, int g, int b, int instance)
 set the tracking color for mass circle
void SIMsetBoxColor (int r, int g, int b, int instance)
void SIMsetTrackColor (float h, float hstd, float s, float sstd, float v, float vstd, int instance, bool adapt, int avg)
 set default tracking color values
void SIMsetAdapt (float ha, bool haSTD, float sa, bool saSTD, float va, bool vaSTD, int instance, bool useCluster)
 set initial adaptive color thresholds for tracking
void SIMsetAdaptBound (float Hupper, float Hlower, float Supper, float Slower, float Vupper, float Vlower, int instance)
 set up hard bounds for color adaptation
void SIMsetCameraPosition (float pan, float tilt, int instance, bool stats=false)
 tell this method the pan and tilt postition the camera is moving to
void SIMsetFrame (int x1, int y1, int x2, int y2, int realX, int realY, int instance)
 set frame size for color tracker
void SIMtrackImage (Image< PixRGB< byte > > input, Image< PixRGB< byte > > *image, int instance, Image< PixRGB< byte > > *auxImage, bool fast=false)
 Put image one at a time into tracker and get back tracker image output.
void SIMtrackImageMulti (std::vector< Image< PixRGB< byte > > > *image, int instances)
 put image set into tracker and let it sort all this stuff out
void SIMmergeImages (Image< PixRGB< byte > > *image)
 merge qualities of images if needed
void SIMupdateVergance (float distance, float gaussBase=36)
 update the vergance distance if needed for cameras
void SIMverganceSpring (int instance, int current, bool doTracked)
 apply probabalistic model over multiple stereo cameras for vergance
void SIMgetImageTrackXY (int *x, int *y, int instance)
 get back X and Y coords for tracking
void SIMgetImageTrackXY2 (int *x, int *y, int instance)
 get back X and Y coords for tracking
void SIMgetImageTrackXYMerge (int *x, int *y)
 get back merged X and Y coords for tracking
bool SIMreturnLOT (int instance)
 return true if loss of track
float SIMreturnCameraProb (int instance)
 return the P of a good track
bool SIMdoMoveCamera (int instance, float *doPan, float *doTilt)
 return if camera should move based upon maximum LOT's
Image< byteSIMreturnCandidateImage (int instance)
 return the image of candidate pixels
void SIMSetCluster (int sizeX, int sizeY, int instances, float hweight, float sweight, float vweight)
 Set up color clustering for tracker.
void SIMclusterColor (Image< PixRGB< float > > image, int instance)
 find object in scene that's a best match using clustering
bool SIMstereoMatch (PixelPoint points[2], CameraParams params[2], Point3D *retPoint)
 Project corresponding points in 3D.
double SIMPgauss (double X, double Xbar, double std)
 return the probability of X given Xbar and std using gaussian

Detailed Description

Definition at line 54 of file segmentImageMerge2.H.


Constructor & Destructor Documentation

segmentImageMerge2::segmentImageMerge2 ( int  instances  ) 

default constructor, also sets up number of tracker instances

set the weights in cluster for Hue

set the weights in cluster for Sat

set the weights in cluster for Val

set initial standard deviation for color tracking after Hue

set initial standard deviation for color tracking after Sat

set initial standard deviation for color tracking after Val

Definition at line 457 of file segmentImageMerge2.C.

References blobProp::BP_bound, blobProp::BP_clusterColorStdH, blobProp::BP_clusterColorStdS, blobProp::BP_clusterColorStdV, blobProp::BP_clusterWeightH, blobProp::BP_clusterWeightS, blobProp::BP_clusterWeightSpat, blobProp::BP_clusterWeightV, blobProp::BP_LOTbound, blobProp::BP_maxFrameSize, blobProp::BP_maxMass, blobProp::BP_minClusterSize, blobProp::BP_minMass, blobProp::BP_ratioMax, blobProp::BP_ratioMin, blobProp::BP_softBound, blobProp::BP_softRatioMax, blobProp::BP_softRatioMin, CAMERAMU1, ERRINTERVAL, readConfig::getItemValueF(), and readConfig::openFile().


Member Function Documentation

void segmentImageMerge2::resetAll ( int  instances  ) 

set the weights in cluster for Hue

set the weights in cluster for Sat

set the weights in cluster for Val

set initial standard deviation for color tracking after Hue

set initial standard deviation for color tracking after Sat

set initial standard deviation for color tracking after Val

Definition at line 333 of file segmentImageMerge2.C.

References blobProp::BP_bound, blobProp::BP_clusterColorStdH, blobProp::BP_clusterColorStdS, blobProp::BP_clusterColorStdV, blobProp::BP_clusterWeightH, blobProp::BP_clusterWeightS, blobProp::BP_clusterWeightSpat, blobProp::BP_clusterWeightV, blobProp::BP_LOTbound, blobProp::BP_maxFrameSize, blobProp::BP_maxMass, blobProp::BP_minClusterSize, blobProp::BP_minMass, blobProp::BP_ratioMax, blobProp::BP_ratioMin, blobProp::BP_softBound, blobProp::BP_softRatioMax, blobProp::BP_softRatioMin, CAMERAMU1, ERRINTERVAL, readConfig::getItemValueF(), and readConfig::openFile().

void segmentImageMerge2::SIMclusterColor ( Image< PixRGB< float > >  image,
int  instance 
)
bool segmentImageMerge2::SIMdoMoveCamera ( int  instance,
float *  doPan,
float *  doTilt 
)

return if camera should move based upon maximum LOT's

Definition at line 996 of file segmentImageMerge2.C.

void segmentImageMerge2::SIMgetImageTrackXY ( int *  x,
int *  y,
int  instance 
)

get back X and Y coords for tracking

Definition at line 968 of file segmentImageMerge2.C.

void segmentImageMerge2::SIMgetImageTrackXY2 ( int *  x,
int *  y,
int  instance 
)

get back X and Y coords for tracking

Definition at line 974 of file segmentImageMerge2.C.

void segmentImageMerge2::SIMgetImageTrackXYMerge ( int *  x,
int *  y 
)

get back merged X and Y coords for tracking

Definition at line 980 of file segmentImageMerge2.C.

void segmentImageMerge2::SIMmergeImages ( Image< PixRGB< byte > > *  image  ) 

merge qualities of images if needed

Definition at line 791 of file segmentImageMerge2.C.

References drawCircle(), and image.

double segmentImageMerge2::SIMPgauss ( double  X,
double  Xbar,
double  std 
)

return the probability of X given Xbar and std using gaussian

Definition at line 1279 of file segmentImageMerge2.C.

References exp(), and sqrt().

Referenced by SIMclusterColor().

float segmentImageMerge2::SIMreturnCameraProb ( int  instance  ) 

return the P of a good track

Definition at line 991 of file segmentImageMerge2.C.

Image< byte > segmentImageMerge2::SIMreturnCandidateImage ( int  instance  ) 

return the image of candidate pixels

Definition at line 1006 of file segmentImageMerge2.C.

References segmentImage2::SIreturnNormalizedCandidates().

bool segmentImageMerge2::SIMreturnLOT ( int  instance  ) 

return true if loss of track

Definition at line 986 of file segmentImageMerge2.C.

void segmentImageMerge2::SIMsetAdapt ( float  ha,
bool  haSTD,
float  sa,
bool  saSTD,
float  va,
bool  vaSTD,
int  instance,
bool  useCluster 
)

set initial adaptive color thresholds for tracking

Definition at line 617 of file segmentImageMerge2.C.

void segmentImageMerge2::SIMsetAdaptBound ( float  Hupper,
float  Hlower,
float  Supper,
float  Slower,
float  Vupper,
float  Vlower,
int  instance 
)

set up hard bounds for color adaptation

Parameters:
Hupper upper bound for adaptive hue
Hlower lower bound for adaptive hue
Supper upper bound for adaptive saturation
Slower lower bound for adaptive saturation
Vupper upper bound for adaptive intensity
Vlower lower bound for adaptive intensity
instance Which tracker to apply these settings to

Definition at line 631 of file segmentImageMerge2.C.

void segmentImageMerge2::SIMsetBoxColor ( int  r,
int  g,
int  b,
int  instance 
)

set the tracking colot for the bounding box set the tracking color for mass circle

Parameters:
r this is the red color for the output bounding box
g this is the green color for the output bounding box
b this is the blue color for the output bounding box
instance this is the tracker to apply these settings to

Definition at line 590 of file segmentImageMerge2.C.

void segmentImageMerge2::SIMsetCameraPosition ( float  pan,
float  tilt,
int  instance,
bool  stats = false 
)

tell this method the pan and tilt postition the camera is moving to

Definition at line 644 of file segmentImageMerge2.C.

References ERRINTERVAL, and sqrt().

void segmentImageMerge2::SIMsetCircleColor ( int  r,
int  g,
int  b,
int  instance 
)

set the tracking color for mass circle

Parameters:
r this is the red color for the output circle
g this is the green color for the output circle
b this is the blue color for the output circle
instance this is the tracker to apply these settings to

Definition at line 582 of file segmentImageMerge2.C.

void segmentImageMerge2::SIMSetCluster ( int  sizeX,
int  sizeY,
int  instances,
float  hweight,
float  sweight,
float  vweight 
)

Set up color clustering for tracker.

Call this method before calling SIMclsuterColor to set it up. Do this only once.

Parameters:
sizeX This is the width of the image to be processed
sizeY this is the height of the image to be processed
instances How many tracker instances are being used
hweight this is the weight to be given to hue in analysis
sweight this is the weight to be given to saturation in analysis
vweight this is the weight to be given to luminance in analysis

Definition at line 1011 of file segmentImageMerge2.C.

References NPclassify2< FLOAT >::NPresizeSpace(), NPclassify2< FLOAT >::NPsetup(), and readConfig::openFile().

void segmentImageMerge2::SIMsetFrame ( int  x1,
int  y1,
int  x2,
int  y2,
int  realX,
int  realY,
int  instance 
)

set frame size for color tracker

Definition at line 695 of file segmentImageMerge2.C.

References segmentImage2::SIsetFrame().

void segmentImageMerge2::SIMsetTrackColor ( float  h,
float  hstd,
float  s,
float  sstd,
float  v,
float  vstd,
int  instance,
bool  adapt,
int  avg 
)

set default tracking color values

Parameters:
h initial hue value
hstd initial boundary in standard deviation for h
s initial satuaration value
sstd initial boundary in standard deviation for s
v initial intensity value
vstd initial boundary in standard deviation for v
instance which tracker instance to apply these settings too
adapt tells if you want these values to adapt

Definition at line 598 of file segmentImageMerge2.C.

References segmentImage2::SIsetHSVavg(), segmentImage2::SIsetHue(), segmentImage2::SIsetSat(), and segmentImage2::SIsetVal().

bool segmentImageMerge2::SIMstereoMatch ( PixelPoint  points[2],
CameraParams  params[2],
Point3D retPoint 
)

Project corresponding points in 3D.

Definition at line 1208 of file segmentImageMerge2.C.

References Point3D< T >::x.

void segmentImageMerge2::SIMtrackImage ( Image< PixRGB< byte > >  input,
Image< PixRGB< byte > > *  image,
int  instance,
Image< PixRGB< byte > > *  auxImage,
bool  fast = false 
)

Put image one at a time into tracker and get back tracker image output.

Parameters:
input this is the raw input image
image this is a pointer to the output image
outputI this is a pointer the the candidate pixel image
instance This is the image instance to which you are using
auxImage this is a pointer to the HSV threshold bar image

Definition at line 702 of file segmentImageMerge2.C.

References ASSERT, decXY(), image, segmentImage2::SIcalcMassCenter(), and segmentImage2::SIsegment().

void segmentImageMerge2::SIMtrackImageMulti ( std::vector< Image< PixRGB< byte > > > *  image,
int  instances 
)

put image set into tracker and let it sort all this stuff out

this method will track over multiple stereo pair linked cameras and produce blobs to track that agree with assumptions of stereo tracking for instance vergance and spacial locality.

Parameters:
input this is the raw input image
image this is a pointer to the output image
outputI this is a pointer the the candidate pixel image
instance This is the image instance to which you are using
auxImage this is a pointer to the HSV threshold bar image

Definition at line 739 of file segmentImageMerge2.C.

References ASSERT, decXY(), image, segmentImage2::SIcalcMassCenter(), SIMupdateVergance(), SIMverganceSpring(), and segmentImage2::SIsegment().

void segmentImageMerge2::SIMupdateVergance ( float  distance,
float  gaussBase = 36 
)

update the vergance distance if needed for cameras

feed in the new distance to target and extact P over expected vergance

Parameters:
distance is a measure in inches (sorry)

Definition at line 816 of file segmentImageMerge2.C.

References DISTANCE.

Referenced by SIMtrackImageMulti().

void segmentImageMerge2::SIMverganceSpring ( int  instance,
int  current,
bool  doTracked 
)

apply probabalistic model over multiple stereo cameras for vergance

This method will calculate the most likely blob from a set of blobs based upon the vergance of the cameras. That is, joined stereo pairs should. experiance vergance to a target. This method creates virtual springs to pull the cameras into vergance with each other based upon the probability that a target will bring a camera into vergance with the other cameras. To use this method you must have defined a probabalistic model over vergance in the cameras.

Parameters:
instance this is the instance of the track, in this case the camera
doTracked this is true if you wish to apply to cameras that \ are not currently in loss of track (LOT)

Definition at line 834 of file segmentImageMerge2.C.

References abs(), cameraConf::fieldAdjustmentX, cameraConf::fieldAdjustmentY, stats< T >::gauss(), LOTMAX, segmentImage2::SIgetCenterX(), segmentImage2::SInumberBlobs(), cameraConf::Xfield, cameraConf::Xpixel, cameraConf::Yfield, and cameraConf::Ypixel.

Referenced by SIMtrackImageMulti().


The documentation for this class was generated from the following files:
Generated on Sun May 8 08:24:52 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3