Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

VLCImageProcessor Class Reference

The lines image processor recognizes characteristic lines in the image. More...

#include <VLCImageProcessor.h>

Inheritance diagram for VLCImageProcessor:

Inheritance graph
[legend]
Collaboration diagram for VLCImageProcessor:

Collaboration graph
[legend]
List of all members.

Helpers for grid drawing

void plot (const unsigned char *p, Drawings::Color color)
const unsigned char * last
Drawings::Color lineColor

Public Member Functions

 VLCImageProcessor (const ImageProcessorInterfaces &interfaces)
 Constructor.

 ~VLCImageProcessor ()
 Destructor.

virtual void execute ()
 Main method.

virtual bool handleMessage (InMessage &message)
 Handles an incoming message.


Static Public Attributes

const double verticalScanLineTopAboveHorizon = 15.0
 Parameters for the scanning grid.

const double verticalScanLineLength13 = 55.0
const double verticalScanLineLength2 = 75.0
const double verticalScanLineSpacing = 4.0

Private Member Functions

void scanColumns ()
 Calculates the vertical lines and calls scan(...) on each of them.

void scanRows ()
 Calculates the horizontal lines and calls scan.

void scan (const Vector2< int > &start, const Vector2< int > &end, bool vertical, bool noLines, int pixelsRelevantForGoal)
 The function scans a line for varous things (??).

void clusterRobots (const unsigned char *bottomPoint, bool redFound, bool blueFound)
 The function clusters points of red and blue robots.

void filterPercepts ()
 The function filters the percepts, i.e.

void filterLinesPercept (LinesPercept &percept, int type, const Image &image)
 The function filters the line-percepts, i.e.

bool calcEdgeAngle (double &angleInImage, double &angleOnField, const Vector2< int > &pointInImage, const Vector2< int > &pointOnField, double scanAngle, const RingBuffer< const unsigned char *, 7 > &pixelBuffer, const bool againstScanline=false, const bool borderOrLine=true, int channel=0)
 The function calculates the angle of an edge at an edge point.

Vector2< int > getCoords (const unsigned char *p) const
 The function converts an address to pixel coordinates.

 DECLARE_DEBUG_IMAGE (imageProcessorPlayers)
 DECLARE_DEBUG_IMAGE (imageProcessorGeneral)
 DECLARE_DEBUG_COLOR_CLASS_IMAGE (segmentedImage1)
 DECLARE_DEBUG_IMAGE (imageProcessorBall)
 DECLARE_DEBUG_IMAGE (imageProcessorGradients)
 N_DECLARE_DEBUG_IMAGE (colorCorrected)
 N_DECLARE_DEBUG_IMAGE (colorCorrected2)
 N_DECLARE_DEBUG_COLOR_CLASS_IMAGE (segmented)
 N_DECLARE_DEBUG_IMAGE (ball)
 N_DECLARE_DEBUG_IMAGE (edgeDetection)
 N_DECLARE_DEBUG_GRAY_SCALE_IMAGE (scanLines)

Private Attributes

double xFactor
 Factor to convert the pixel coordinate space to the anglular coordinate space.

double yFactor
 Factor to convert the pixel coordinate space to the anglular coordinate space.

int yThreshold
 Brightness increase threshold.

int vThreshold
 Brightness decrease threshold.

int orangeCount
 Number of columns with ball points.

int noOrangeCount
 Number of columns without a ball point.

int noRedCount
 Number of columns without a red robot point.

int noBlueCount
 Number of columns without a blue robot point.

int noGoalCount
 Number of columns without a opponent goal seen.

int closestBottom
 Closest bottom point on the grid.

Vector2< int > firstRed
 First red robot point in a cluster.

Vector2< int > closestRed
 Closest red robot point in a cluster.

Vector2< int > lastRed
 Last red robot point in a cluster.

Vector2< int > firstBlue
 First blue robot point in a cluster.

Vector2< int > closestBlue
 Closest blue robot point in a cluster.

Vector2< int > lastBlue
 Last blue robot point in a cluster.

Vector2< int > firstFlag
 First flag point in a cluster.

Vector2< int > lastFlag
 Last flag point in a cluster.

bool goalAtBorder
 Is the first goal point at the image border?

ImageInfo imageInfo
 Useful information about the current image that is calculated by the ImageProcessor object and may be used by the specialist (avoiding recalculation) like the horizon, etc.

int longestBallRun
Vector2< int > ballCandidate
VLCClustering ballClustering
VLCLineFinder_DeterministicApproach lineFinder
VLCCenterCircleFinder circleFinder
CameraMatrix cmTricot
 Camera matrix without tricot height.

CameraMatrix prevCmTricot
 The tricot matrix of the previous image.

ColorCorrector colorCorrector
 The color correction tool.

VLCGoalRecognizer goalSpecialistY
 Goal specialists to recognize the goals (one for each color).

VLCGoalRecognizer goalSpecialistB
 Goal specialists to recognize the goals (one for each color).

VLCBeaconDetector beaconDetector
 The beacon detector.

VLCBallSpecialist ballSpecialist
 The ball specialist.

double angleBetweenDirectionOfViewAndGround
int numberOfScannedPixels
double averageY
double averageU
double averageV
RingBuffer< double, 5 > averageYBuffer
ColorTable64colorTableVeryDark
ColorTable64colorTableDark
ColorTable64colorTableMedium
ColorTable64colorTableBright
ColorTablebestColorTable
double vd2d
double d2m
double m2b
Matrix2x2< double > rotation2x2

Static Private Attributes

const double minAngleBetweenFlagAndGoal = 0.05

Detailed Description

The lines image processor recognizes characteristic lines in the image.

Four types of lines are distinguished: edges between the skyblue goal and the field, edges between the yellow goal and the field, edges between the border and the field, and edges between the field lines and the field.

The module scans vertical and horizontal lines in the image from top to bottom and from left to right. As the green of the field is very dark, all edges are characterized by a big difference of the y-channel of adjacent pixels. An increase in the y-channel followed by a decrease is an indication for an edge.

The projection of the pixels on the field plane is used to determine their relative position to the robot.

Author:
Matthias Juengel

Thomas Röfer

Definition at line 52 of file VLCImageProcessor.h.


Constructor & Destructor Documentation

VLCImageProcessor::VLCImageProcessor const ImageProcessorInterfaces interfaces  ) 
 

Constructor.

Parameters:
interfaces Collection of references to other objects, e.g. the current image, required by this module.

Definition at line 40 of file VLCImageProcessor.cpp.

References VLCBeaconDetector::analyzeColorTable(), averageYBuffer, colorTableBright, colorTableDark, colorTableMedium, colorTableVeryDark, d2m, InStream< InFile, InConfig >::eof(), InFile::exists(), getLocation(), RingBuffer< double, 5 >::init(), m2b, pi, ColorTable64::setFormat(), and vd2d.

Here is the call graph for this function:

VLCImageProcessor::~VLCImageProcessor  )  [inline]
 

Destructor.

Definition at line 65 of file VLCImageProcessor.h.

References colorTableBright, colorTableDark, colorTableMedium, and colorTableVeryDark.


Member Function Documentation

void VLCImageProcessor::execute  )  [virtual]
 

Main method.

Called on every captured image.

Reimplemented from Module.

Definition at line 151 of file VLCImageProcessor.cpp.

References RingBuffer< double, 5 >::add(), ARROW, averageYBuffer, Geometry::Line::base, Matrix2x2< double >::c, Geometry::calculateHorizon(), RobotPose::calculateMovement(), Image::cameraInfo, clusterRobots(), colorTableBright, colorTableDark, colorTableMedium, colorTableVeryDark, d2m, DEBUG_DRAWING_FINISHED, DEBUG_RESPONSE_NOT, VLCCenterCircleFinder::determineCirclePoint(), Geometry::Line::direction, ImageInfo::distanceTopLeftCorner, DOT, VLCLineFinder_DeterministicApproach::execute(), CameraInfo::focalLength, CameraMatrix::frameNumber, Image::frameNumber, fromDegrees(), VLCCenterCircleFinder::getCircle(), Geometry::getIntersectionPointsOfLineAndRectangle(), VLCClustering::getMidpoint(), RingBuffer< double, 5 >::getNumberOfEntries(), getRobotConfiguration(), RobotConfiguration::getRobotDimensions(), VLCClustering::getSize(), ImageInfo::horizon, ImageInfo::horizonEnd, ImageInfo::horizonInImage, ImageInfo::horizonStart, idText, INIT_DEBUG_IMAGE, Matrix2x2< double >::invert(), ImageInfo::invRotation, m2b, ImageInfo::maxImageCoordinates, RobotDimensions::motionCycleTime, N_INIT_DEBUG_GRAY_SCALE_IMAGE, normalize(), Vector2< V >::normalize(), Geometry::Line::normalizeDirection(), VLCGoalRecognizer::notifyAboutFinish(), VLCGoalRecognizer::notifyAboutNewImage(), CameraInfo::opticalCenter, OUTPUT, pi, ImageInfo::previousCameraMatrix, VLCClustering::reset(), VLCLineFinder_DeterministicApproach::reset(), VLCCenterCircleFinder::reset(), ObstaclesPercept::reset(), PlayersPercept::reset(), BallPercept::reset(), LinesPercept::reset(), LandmarksPercept::reset(), VLCBallSpecialist::resetMultiplePerceptsList(), CameraInfo::resolutionHeight, CameraInfo::resolutionWidth, ImageInfo::rotation, Pose3D::rotation, Pose2D::rotation, scanColumns(), scanRows(), VLCBallSpecialist::searchBall(), VLCLineFinder_DeterministicApproach::setBestColorTable(), VLCGoalRecognizer::setBestColorTable(), VLCBeaconDetector::setBestColorTable(), sqr, toDegrees(), Pose3D::translation, Pose2D::translation, vd2d, ImageInfo::vertLine, Vector2< int >::x, Vector3< V >::x, Vector2< V >::x, Vector2< double >::x, Vector2< int >::y, Vector3< V >::y, Vector2< V >::y, Vector2< double >::y, Vector3< V >::z, and Vector3< double >::z.

Here is the call graph for this function:

bool VLCImageProcessor::handleMessage InMessage message  )  [virtual]
 

Handles an incoming message.

Parameters:
message The message

Reimplemented from Module.

Definition at line 2168 of file VLCImageProcessor.cpp.

References VLCBeaconDetector::analyzeColorTable(), InMessage::getMessageID(), and idColorTable64.

Here is the call graph for this function:

void VLCImageProcessor::scanColumns  )  [private]
 

Calculates the vertical lines and calls scan(...) on each of them.

The vertical lines are more dense near the horizon, since objects are further away and hence smaller.

NB: HX and HY in variable names denote x- and y-values in the horizon-aligned coordinate system.

The goal detection should be only be done near the horizon. Therefore I calculate the (maximum) number of pixels on the current scanline that should be considered. NB: Assumes the usage of the Bresenham line algorithm when scanning the lines.

Definition at line 668 of file VLCImageProcessor.cpp.

References ASSERT, Geometry::Line::base, Matrix2x2< double >::c, Geometry::Line::direction, ImageInfo::distanceTopLeftCorner, Geometry::getIntersectionPointsOfLineAndRectangle(), ImageInfo::horizon, ImageInfo::invRotation, max, ImageInfo::maxImageCoordinates, min, ImageInfo::rotation, scan(), verticalScanLineLength13, verticalScanLineLength2, verticalScanLineSpacing, verticalScanLineTopAboveHorizon, ImageInfo::vertLine, Vector2< V >::x, Vector2< double >::x, Vector2< V >::y, Vector2< double >::y, and Vector2< int >::y.

Referenced by execute().

Here is the call graph for this function:

void VLCImageProcessor::scanRows  )  [private]
 

Calculates the horizontal lines and calls scan.

Definition at line 857 of file VLCImageProcessor.cpp.

References Geometry::Line::base, Geometry::Line::direction, Geometry::getIntersectionPointsOfLineAndRectangle(), ImageInfo::horizon, LINE, ImageInfo::maxImageCoordinates, scan(), ImageInfo::vertLine, Vector2< V >::x, Vector2< int >::x, Vector2< double >::x, Vector2< V >::y, and Vector2< double >::y.

Referenced by execute().

Here is the call graph for this function:

void VLCImageProcessor::scan const Vector2< int > &  start,
const Vector2< int > &  end,
bool  vertical,
bool  noLines,
int  pixelsRelevantForGoal
[private]
 

The function scans a line for varous things (??).

Parameters:
start The start point of the line.
end The end point of the line.
vertical The scanline is a vertical line (for specialist that differentiate between vertical and horizontal scanlines).
noLines If true, don't look for field lines.
pixelsRelevantForGoals Number of pixels on the scanline (from the top) that are relevant for the GoalRecognizer.

Let specialists inspect the current pixel (NB: current [dt: aktuell], NB [lat: nota bene] [dt: Hinweis])

Let specialists inspect the current pixel.

Definition at line 895 of file VLCImageProcessor.cpp.

References Vector2< V >::abs(), LinesPercept::add(), RingBuffer< V, n >::add(), VLCClustering::addLine(), Vector2< V >::angle(), calcEdgeAngle(), Geometry::calculateLineSize(), Geometry::calculatePointOnField(), Image::cameraInfo, COLOR_CLASS, ColorCorrector::correct(), DEBUG_IMAGE_SET_PIXEL_BLACK, DEBUG_IMAGE_SET_PIXEL_GREEN, DEBUG_IMAGE_SET_PIXEL_PINK, DEBUG_IMAGE_SET_PIXEL_RED, DEBUG_IMAGE_SET_PIXEL_YELLOW, DEBUG_RESPONSE_NOT, getCoords(), RingBuffer< V, n >::getNumberOfEntries(), getPlayer(), Geometry::getSizeByDistance(), Player::getTeamColor(), Image::image, RingBuffer< V, n >::init(), VLCGoalRecognizer::inspectPixel(), CameraMatrix::isValid, LINE, N_SET_COLORED_PIXEL_IN_GRAY_SCALE_IMAGE, noColor, VLCGoalRecognizer::notifyAboutNewScanline(), PLOT, LinesPercept::points, ImageInfo::previousCameraMatrix, CameraInfo::resolutionHeight, CameraInfo::resolutionWidth, sgn, sqr, Pose3D::translation, Vector2< V >::x, Vector2< V >::y, and Vector3< double >::z.

Referenced by scanColumns(), and scanRows().

Here is the call graph for this function:

void VLCImageProcessor::clusterRobots const unsigned char *  bottomPoint,
bool  redFound,
bool  blueFound
[private]
 

The function clusters points of red and blue robots.

Parameters:
bottomPoint The bottom point of the current scan column.
redFound Has a red robot point been found? In that case, the last entry in the lines percept is that point.
blueFound Has a blue robot point been found? In that case, the last entry in the lines percept is that point.

Definition at line 1670 of file VLCImageProcessor.cpp.

References Vector2< V >::abs(), Vector2< int >::abs(), PlayersPercept::addBluePlayer(), PlayersPercept::addRedPlayer(), Geometry::calculatePointOnField(), Image::cameraInfo, SinglePlayerPercept::directionOnField, getCoords(), SinglePlayerPercept::offsetOnField, LinesPercept::points, SinglePlayerPercept::positionInImage, ImageInfo::previousCameraMatrix, SinglePlayerPercept::validity, Vector2< double >::x, Vector2< int >::x, Vector2< V >::x, Vector2< double >::y, Vector2< int >::y, and Vector2< V >::y.

Referenced by execute().

Here is the call graph for this function:

void VLCImageProcessor::filterPercepts  )  [private]
 

The function filters the percepts, i.e.

it removes potential misreadings.

Definition at line 1738 of file VLCImageProcessor.cpp.

References Vector2< double >::abs(), Goal::angle, Flag::angle, PlayersPercept::bluePlayers, Goal::color, filterLinesPercept(), LandmarksPercept::flags, LandmarksPercept::goals, minAngleBetweenFlagAndGoal, PlayersPercept::numberOfBluePlayers, LandmarksPercept::numberOfFlags, LandmarksPercept::numberOfGoals, PlayersPercept::numberOfRedPlayers, SinglePlayerPercept::offsetOnField, pi, LinesPercept::points, PlayersPercept::redPlayers, Flag::type, Vector2< double >::x, and Vector2< double >::y.

Here is the call graph for this function:

void VLCImageProcessor::filterLinesPercept LinesPercept percept,
int  type,
const Image image
[private]
 

The function filters the line-percepts, i.e.

it removes potential misreadings, for the given line-type.

Definition at line 2189 of file VLCImageProcessor.cpp.

References normalize(), and LinesPercept::points.

Referenced by filterPercepts().

Here is the call graph for this function:

bool VLCImageProcessor::calcEdgeAngle double &  angleInImage,
double &  angleOnField,
const Vector2< int > &  pointInImage,
const Vector2< int > &  pointOnField,
double  scanAngle,
const RingBuffer< const unsigned char *, 7 > &  pixelBuffer,
const bool  againstScanline = false,
const bool  borderOrLine = true,
int  channel = 0
[private]
 

The function calculates the angle of an edge at an edge point.

Parameters:
angleInImage The angle in image coordinates to be determined.
angleOnField The angle in relative robot field coordinates to be determined.
pointInImage The edge point in image coordinates.
pointOnField The edge point in field coordinates.
scanAngle The angle of the scan line the point was found on.
pixelBuffer The pixels on the scan line around the edge point.
againstScanline The flag if bright to dark is detected against the direction of the scanline.
borderOrLine The flag if this edge belongs to a border or a line (white to green edge).
channel The channel the gradient is calculated in.
Returns:
Whether the angle in field coordinates could be determined

Definition at line 2068 of file VLCImageProcessor.cpp.

References Vector2< V >::abs(), Vector2< V >::angle(), ARROW, Geometry::calculatePointOnField(), Image::cameraInfo, VLCLineFinder_DeterministicApproach::considerLinePoint(), getCoords(), Image::image, normalize(), pi, pi2, pi_2, point, ImageInfo::previousCameraMatrix, Vector2< V >::rotateLeft(), Vector2< V >::x, Vector2< int >::x, Vector2< V >::y, and Vector2< int >::y.

Referenced by scan().

Here is the call graph for this function:

Vector2<int> VLCImageProcessor::getCoords const unsigned char *  p  )  const [inline, private]
 

The function converts an address to pixel coordinates.

Parameters:
p An address in image.image.
Returns:
The x- and y-coordinates of the corresponding pixel.

Definition at line 231 of file VLCImageProcessor.h.

References cameraResolutionWidth_ERS7, and Image::image.

Referenced by calcEdgeAngle(), clusterRobots(), plot(), and scan().

void VLCImageProcessor::plot const unsigned char *  p,
Drawings::Color  color
[private]
 

Definition at line 2151 of file VLCImageProcessor.cpp.

References getCoords(), LINE, Vector2< V >::x, and Vector2< V >::y.

Here is the call graph for this function:

VLCImageProcessor::DECLARE_DEBUG_IMAGE imageProcessorPlayers   )  [private]
 

VLCImageProcessor::DECLARE_DEBUG_IMAGE imageProcessorGeneral   )  [private]
 

VLCImageProcessor::DECLARE_DEBUG_COLOR_CLASS_IMAGE segmentedImage1   )  [private]
 

VLCImageProcessor::DECLARE_DEBUG_IMAGE imageProcessorBall   )  [private]
 

VLCImageProcessor::DECLARE_DEBUG_IMAGE imageProcessorGradients   )  [private]
 

VLCImageProcessor::N_DECLARE_DEBUG_IMAGE colorCorrected   )  [private]
 

VLCImageProcessor::N_DECLARE_DEBUG_IMAGE colorCorrected2   )  [private]
 

VLCImageProcessor::N_DECLARE_DEBUG_COLOR_CLASS_IMAGE segmented   )  [private]
 

VLCImageProcessor::N_DECLARE_DEBUG_IMAGE ball   )  [private]
 

VLCImageProcessor::N_DECLARE_DEBUG_IMAGE edgeDetection   )  [private]
 

VLCImageProcessor::N_DECLARE_DEBUG_GRAY_SCALE_IMAGE scanLines   )  [private]
 


Member Data Documentation

const double VLCImageProcessor::verticalScanLineTopAboveHorizon = 15.0 [static]
 

Parameters for the scanning grid.

Only one in four scanlines run from the horizon to the bottom of the image. In between of those, there are one medium and two short lines, so that the grid is more dense near the horizon. The parameter verticalScanlineSpacing specifies the distance between the vertical scan lines.

Definition at line 25 of file VLCImageProcessor.cpp.

Referenced by scanColumns().

const double VLCImageProcessor::verticalScanLineLength13 = 55.0 [static]
 

Definition at line 26 of file VLCImageProcessor.cpp.

Referenced by scanColumns().

const double VLCImageProcessor::verticalScanLineLength2 = 75.0 [static]
 

Definition at line 27 of file VLCImageProcessor.cpp.

Referenced by scanColumns().

const double VLCImageProcessor::verticalScanLineSpacing = 4.0 [static]
 

Definition at line 28 of file VLCImageProcessor.cpp.

Referenced by scanColumns().

const double VLCImageProcessor::minAngleBetweenFlagAndGoal = 0.05 [static, private]
 

Definition at line 37 of file VLCImageProcessor.cpp.

Referenced by filterPercepts().

double VLCImageProcessor::xFactor [private]
 

Factor to convert the pixel coordinate space to the anglular coordinate space.

Definition at line 127 of file VLCImageProcessor.h.

double VLCImageProcessor::yFactor [private]
 

Factor to convert the pixel coordinate space to the anglular coordinate space.

Definition at line 127 of file VLCImageProcessor.h.

int VLCImageProcessor::yThreshold [private]
 

Brightness increase threshold.

Definition at line 129 of file VLCImageProcessor.h.

int VLCImageProcessor::vThreshold [private]
 

Brightness decrease threshold.

Definition at line 130 of file VLCImageProcessor.h.

int VLCImageProcessor::orangeCount [private]
 

Number of columns with ball points.

Definition at line 131 of file VLCImageProcessor.h.

int VLCImageProcessor::noOrangeCount [private]
 

Number of columns without a ball point.

Definition at line 131 of file VLCImageProcessor.h.

int VLCImageProcessor::noRedCount [private]
 

Number of columns without a red robot point.

Definition at line 131 of file VLCImageProcessor.h.

int VLCImageProcessor::noBlueCount [private]
 

Number of columns without a blue robot point.

Definition at line 131 of file VLCImageProcessor.h.

int VLCImageProcessor::noGoalCount [private]
 

Number of columns without a opponent goal seen.

Definition at line 131 of file VLCImageProcessor.h.

int VLCImageProcessor::closestBottom [private]
 

Closest bottom point on the grid.

Definition at line 131 of file VLCImageProcessor.h.

Vector2<int> VLCImageProcessor::firstRed [private]
 

First red robot point in a cluster.

Definition at line 137 of file VLCImageProcessor.h.

Vector2<int> VLCImageProcessor::closestRed [private]
 

Closest red robot point in a cluster.

Definition at line 137 of file VLCImageProcessor.h.

Vector2<int> VLCImageProcessor::lastRed [private]
 

Last red robot point in a cluster.

Definition at line 137 of file VLCImageProcessor.h.

Vector2<int> VLCImageProcessor::firstBlue [private]
 

First blue robot point in a cluster.

Definition at line 137 of file VLCImageProcessor.h.

Vector2<int> VLCImageProcessor::closestBlue [private]
 

Closest blue robot point in a cluster.

Definition at line 137 of file VLCImageProcessor.h.

Vector2<int> VLCImageProcessor::lastBlue [private]
 

Last blue robot point in a cluster.

Definition at line 137 of file VLCImageProcessor.h.

Vector2<int> VLCImageProcessor::firstFlag [private]
 

First flag point in a cluster.

Definition at line 137 of file VLCImageProcessor.h.

Vector2<int> VLCImageProcessor::lastFlag [private]
 

Last flag point in a cluster.

Definition at line 137 of file VLCImageProcessor.h.

bool VLCImageProcessor::goalAtBorder [private]
 

Is the first goal point at the image border?

Definition at line 145 of file VLCImageProcessor.h.

ImageInfo VLCImageProcessor::imageInfo [private]
 

Useful information about the current image that is calculated by the ImageProcessor object and may be used by the specialist (avoiding recalculation) like the horizon, etc.

Definition at line 151 of file VLCImageProcessor.h.

int VLCImageProcessor::longestBallRun [private]
 

Definition at line 154 of file VLCImageProcessor.h.

Vector2<int> VLCImageProcessor::ballCandidate [private]
 

Definition at line 155 of file VLCImageProcessor.h.

VLCClustering VLCImageProcessor::ballClustering [private]
 

Definition at line 156 of file VLCImageProcessor.h.

VLCLineFinder_DeterministicApproach VLCImageProcessor::lineFinder [private]
 

Definition at line 157 of file VLCImageProcessor.h.

VLCCenterCircleFinder VLCImageProcessor::circleFinder [private]
 

Definition at line 158 of file VLCImageProcessor.h.

CameraMatrix VLCImageProcessor::cmTricot [private]
 

Camera matrix without tricot height.

Definition at line 160 of file VLCImageProcessor.h.

CameraMatrix VLCImageProcessor::prevCmTricot [private]
 

The tricot matrix of the previous image.

Definition at line 160 of file VLCImageProcessor.h.

ColorCorrector VLCImageProcessor::colorCorrector [private]
 

The color correction tool.

Definition at line 164 of file VLCImageProcessor.h.

VLCGoalRecognizer VLCImageProcessor::goalSpecialistY [private]
 

Goal specialists to recognize the goals (one for each color).

Definition at line 167 of file VLCImageProcessor.h.

VLCGoalRecognizer VLCImageProcessor::goalSpecialistB [private]
 

Goal specialists to recognize the goals (one for each color).

Definition at line 167 of file VLCImageProcessor.h.

VLCBeaconDetector VLCImageProcessor::beaconDetector [private]
 

The beacon detector.

Definition at line 170 of file VLCImageProcessor.h.

VLCBallSpecialist VLCImageProcessor::ballSpecialist [private]
 

The ball specialist.

Definition at line 171 of file VLCImageProcessor.h.

const unsigned char* VLCImageProcessor::last [private]
 

Definition at line 239 of file VLCImageProcessor.h.

Drawings::Color VLCImageProcessor::lineColor [private]
 

Definition at line 240 of file VLCImageProcessor.h.

double VLCImageProcessor::angleBetweenDirectionOfViewAndGround [private]
 

Definition at line 244 of file VLCImageProcessor.h.

int VLCImageProcessor::numberOfScannedPixels [private]
 

Definition at line 246 of file VLCImageProcessor.h.

double VLCImageProcessor::averageY [private]
 

Definition at line 249 of file VLCImageProcessor.h.

double VLCImageProcessor::averageU [private]
 

Definition at line 249 of file VLCImageProcessor.h.

double VLCImageProcessor::averageV [private]
 

Definition at line 249 of file VLCImageProcessor.h.

RingBuffer<double,5> VLCImageProcessor::averageYBuffer [private]
 

Definition at line 250 of file VLCImageProcessor.h.

Referenced by execute(), and VLCImageProcessor().

ColorTable64* VLCImageProcessor::colorTableVeryDark [private]
 

Definition at line 251 of file VLCImageProcessor.h.

Referenced by execute(), VLCImageProcessor(), and ~VLCImageProcessor().

ColorTable64* VLCImageProcessor::colorTableDark [private]
 

Definition at line 252 of file VLCImageProcessor.h.

Referenced by execute(), VLCImageProcessor(), and ~VLCImageProcessor().

ColorTable64* VLCImageProcessor::colorTableMedium [private]
 

Definition at line 253 of file VLCImageProcessor.h.

Referenced by execute(), VLCImageProcessor(), and ~VLCImageProcessor().

ColorTable64* VLCImageProcessor::colorTableBright [private]
 

Definition at line 254 of file VLCImageProcessor.h.

Referenced by execute(), VLCImageProcessor(), and ~VLCImageProcessor().

ColorTable* VLCImageProcessor::bestColorTable [private]
 

Definition at line 255 of file VLCImageProcessor.h.

double VLCImageProcessor::vd2d [private]
 

Definition at line 256 of file VLCImageProcessor.h.

Referenced by execute(), and VLCImageProcessor().

double VLCImageProcessor::d2m [private]
 

Definition at line 256 of file VLCImageProcessor.h.

Referenced by execute(), and VLCImageProcessor().

double VLCImageProcessor::m2b [private]
 

Definition at line 256 of file VLCImageProcessor.h.

Referenced by execute(), and VLCImageProcessor().

Matrix2x2<double> VLCImageProcessor::rotation2x2 [private]
 

Definition at line 259 of file VLCImageProcessor.h.


The documentation for this class was generated from the following files:
Generated on Mon Mar 20 22:22:55 2006 for GT2005 by doxygen 1.3.6