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

# GT2005ImageProcessor Class Reference

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

`#include <GT2005ImageProcessor.h>`

Inheritance diagram for GT2005ImageProcessor:

[legend]
Collaboration diagram for GT2005ImageProcessor:

[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
| GT2005ImageProcessor (const ImageProcessorInterfaces &interfaces)
| Constructor.
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 (??).
bool | pixelBelowHorizon (Vector2< int > point, double &distance)
| The function calculates the distance to a point to horizon.
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 (colorCorrectedAsJpeg)
| 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.
Vector2< int > | lastRedMidPoint
| Last flag point in a cluster.
Vector2< int > | lastBlueMidPoint
| Needed for debug drawings.
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
GT2005Clustering | ballClustering
GT2005LineFinder_DeterministicApproach | lineFinder
GT2005CenterCircleFinder | circleFinder
CameraMatrix | cmTricot
| Camera matrix without tricot height.
CameraMatrix | prevCmTricot
| The tricot matrix of the previous image.
ColorCorrector | colorCorrector
| The color correction tool.
GT2005GoalRecognizer | goalSpecialistY
| Goal specialists to recognize the goals (one for each color).
GT2005GoalRecognizer | goalSpecialistB
| Goal specialists to recognize the goals (one for each color).
GT2005BeaconDetector | beaconDetector
| The beacon detector.
GT2005BallSpecialist | ballSpecialist
| The ball specialist.
GT2005EdgeSpecialist | edgeSpecialist
| The edge specialist.
GT2005PlayerSpecialist | playerSpecialist
| The player specialist.
double | angleBetweenDirectionOfViewAndGround
int | numberOfScannedPixels
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 60 of file GT2005ImageProcessor.h.

## Constructor & Destructor Documentation

GT2005ImageProcessor::GT2005ImageProcessor | ( | const ImageProcessorInterfaces & | interfaces | ) |

  | Constructor. Parameters:
  interfaces | Collection of references to other objects, e.g. the current image, required by this module.
Definition at line 35 of file GT2005ImageProcessor.cpp. References GT2005BeaconDetector::analyzeColorTable(), beaconDetector, pi, rotation2x2, vThreshold, and yThreshold.

Here is the call graph for this function:

## Member Function Documentation

void GT2005ImageProcessor::execute | ( |  | ) | `[virtual]`

| Main method. Called on every captured image. Reimplemented from Module. Definition at line 60 of file GT2005ImageProcessor.cpp. References angleBetweenDirectionOfViewAndGround, ARROW, ballCandidate, ballClustering, ballSpecialist, Geometry::Line::base, beaconDetector, Matrix2x2< double >::c, Geometry::calculateHorizon(), Image::cameraInfo, LandmarksPercept::cameraOffset, circleFinder, closestBottom, cmTricot, DEBUG_DRAWING_FINISHED, DEBUG_RESPONSE, DEBUG_RESPONSE_NOT, Geometry::Line::direction, ImageInfo::distanceTopLeftCorner, DOT, edgeSpecialist, GT2005LineFinder_DeterministicApproach::execute(), GT2005BeaconDetector::execute(), CameraInfo::focalLength, CameraMatrix::frameNumber, Image::frameNumber, GT2005CenterCircleFinder::getCircle(), GT2005EdgeSpecialist::getEdgesPercept(), Geometry::getIntersectionPointsOfLineAndRectangle(), GT2005Clustering::getMidpoint(), getRobotConfiguration(), RobotConfiguration::getRobotDimensions(), GT2005Clustering::getSize(), goalAtBorder, goalSpecialistB, goalSpecialistY, ImageInfo::horizon, ImageInfo::horizonEnd, ImageInfo::horizonInImage, ImageInfo::horizonStart, imageInfo, INIT_DEBUG_IMAGE, Matrix2x2< double >::invert(), ImageInfo::invRotation, lastBlueMidPoint, lastRedMidPoint, lineFinder, longestBallRun, ImageInfo::maxImageCoordinates, RobotDimensions::motionCycleTime, N_INIT_DEBUG_GRAY_SCALE_IMAGE, noBlueCount, noRedCount, normalize(), Vector2< V >::normalize(), Geometry::Line::normalizeDirection(), GT2005GoalRecognizer::notifyAboutFinish(), GT2005GoalRecognizer::notifyAboutFlags(), GT2005GoalRecognizer::notifyAboutNewImage(), numberOfScannedPixels, CameraInfo::opticalCenter, pi, ImageInfo::previousCameraMatrix, GT2005EdgeSpecialist::reset(), EdgesPercept::reset(), GT2005Clustering::reset(), GT2005LineFinder_DeterministicApproach::reset(), GT2005CenterCircleFinder::reset(), ObstaclesPercept::reset(), PlayersPercept::reset(), BallPercept::reset(), LinesPercept::reset(), LandmarksPercept::reset(), GT2005BallSpecialist::resetMultiplePerceptsList(), CameraInfo::resolutionHeight, CameraInfo::resolutionWidth, ImageInfo::rotation, Pose3D::rotation, scanColumns(), scanRows(), GT2005BallSpecialist::searchBall(), sqr, toDegrees(), Pose3D::translation, ImageInfo::vertLine, Vector2< V >::x, Vector2< double >::x, Vector3< V >::x, Vector2< int >::x, xFactor, Vector2< int >::y, Vector2< V >::y, Vector2< double >::y, Vector3< V >::y, yFactor, Vector3< V >::z, and Vector3< double >::z.

Here is the call graph for this function:

bool GT2005ImageProcessor::handleMessage | ( | InMessage & | message | ) | `[virtual]`

  | Handles an incoming message. Parameters:
  message | The message
Reimplemented from Module. Definition at line 2048 of file GT2005ImageProcessor.cpp. References GT2005BeaconDetector::analyzeColorTable(), beaconDetector, InMessage::getMessageID(), and idColorTable64.

Here is the call graph for this function:

void GT2005ImageProcessor::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 528 of file GT2005ImageProcessor.cpp. References ASSERT, Geometry::Line::base, Matrix2x2< double >::c, Geometry::Line::direction, ImageInfo::distanceTopLeftCorner, Geometry::getIntersectionPointsOfLineAndRectangle(), ImageInfo::horizon, imageInfo, 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 GT2005ImageProcessor::scanRows | ( |  | ) | `[private]`

| Calculates the horizontal lines and calls scan. Definition at line 717 of file GT2005ImageProcessor.cpp. References Geometry::Line::base, Geometry::Line::direction, Geometry::getIntersectionPointsOfLineAndRectangle(), ImageInfo::horizon, imageInfo, 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 GT2005ImageProcessor::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 755 of file GT2005ImageProcessor.cpp. References Vector2< V >::abs(), LinesPercept::add(), RingBuffer< V, n >::add(), GT2005Clustering::addLine(), Vector2< V >::angle(), ballCandidate, ballClustering, calcEdgeAngle(), Geometry::calculateLineSize(), Geometry::calculatePointOnField(), Image::cameraInfo, GT2005EdgeSpecialist::checkPoint(), closestBottom, 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, DEBUG_RESPONSE_NOT, edgeSpecialist, firstBlue, firstRed, getCoords(), RingBuffer< V, n >::getNumberOfEntries(), getPlayer(), Geometry::getSizeByDistance(), Player::getTeamColor(), goalAtBorder, goalSpecialistB, goalSpecialistY, Image::image, imageInfo, RingBuffer< V, n >::init(), GT2005GoalRecognizer::inspectPixel(), CameraMatrix::isValid, lastBlue, lastRed, LINE, lineColor, longestBallRun, N_SET_COLORED_PIXEL_IN_GRAY_SCALE_IMAGE, NDOT, noColor, noOrangeCount, GT2005GoalRecognizer::notifyAboutNewScanline(), numberOfScannedPixels, orangeCount, PLOT, LinesPercept::points, ImageInfo::previousCameraMatrix, GT2005EdgeSpecialist::resetLine(), CameraInfo::resolutionHeight, CameraInfo::resolutionWidth, sgn, sqr, Pose3D::translation, vThreshold, Vector2< V >::x, Vector2< V >::y, yThreshold, and Vector3< double >::z. Referenced by scanColumns(), and scanRows().

Here is the call graph for this function:

bool GT2005ImageProcessor::pixelBelowHorizon | ( | Vector2< int > | point,
|  | double & | distance
| ) | `[private]`

  | The function calculates the distance to a point to horizon. Parameters:
  point | The two dimenaional point in the camera image
  distance | The distance to horizon
Returns: Is below horizon Definition at line 1622 of file GT2005ImageProcessor.cpp. References Geometry::Line::base, Geometry::Line::direction, ImageInfo::horizon, ImageInfo::horizonInImage, imageInfo, Geometry::Line::normalizeDirection(), point, RotationMatrix::rotateZ(), sgn, Vector2< double >::x, Vector3< V >::x, Vector2< int >::x, Vector2< double >::y, Vector3< V >::y, and Vector2< int >::y.

Here is the call graph for this function:

void GT2005ImageProcessor::filterPercepts | ( |  | ) | `[private]`

| The function filters the percepts, i.e. it removes potential misreadings. Definition at line 1650 of file GT2005ImageProcessor.cpp. References Goal::angle, Flag::angle, Goal::color, filterLinesPercept(), LandmarksPercept::flags, LandmarksPercept::goals, minAngleBetweenFlagAndGoal, LandmarksPercept::numberOfFlags, LandmarksPercept::numberOfGoals, LinesPercept::points, and Flag::type.

Here is the call graph for this function:

void GT2005ImageProcessor::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 2069 of file GT2005ImageProcessor.cpp. References normalize(), and LinesPercept::points. Referenced by filterPercepts().

Here is the call graph for this function:

bool GT2005ImageProcessor::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 1948 of file GT2005ImageProcessor.cpp. References Vector2< V >::abs(), Vector2< V >::angle(), ARROW, Geometry::calculatePointOnField(), Image::cameraInfo, GT2005LineFinder_DeterministicApproach::considerLinePoint(), getCoords(), Image::image, imageInfo, lineFinder, normalize(), pi, pi2, pi_2, point, ImageInfo::previousCameraMatrix, Vector2< V >::rotateLeft(), rotation2x2, 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> GT2005ImageProcessor::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 236 of file GT2005ImageProcessor.h. References cameraResolutionWidth_ERS7, and Image::image. Referenced by calcEdgeAngle(), plot(), and scan().

void GT2005ImageProcessor::plot | ( | const unsigned char * | p,
|  | Drawings::Color | color
| ) | `[private]`

| Definition at line 2031 of file GT2005ImageProcessor.cpp. References getCoords(), LINE, lineColor, Vector2< V >::x, and Vector2< V >::y.

Here is the call graph for this function:

GT2005ImageProcessor::DECLARE_DEBUG_IMAGE | ( | imageProcessorPlayers |  | ) | `[private]`

GT2005ImageProcessor::DECLARE_DEBUG_IMAGE | ( | imageProcessorGeneral |  | ) | `[private]`

GT2005ImageProcessor::DECLARE_DEBUG_COLOR_CLASS_IMAGE | ( | segmentedImage1 |  | ) | `[private]`

GT2005ImageProcessor::DECLARE_DEBUG_IMAGE | ( | imageProcessorBall |  | ) | `[private]`

GT2005ImageProcessor::DECLARE_DEBUG_IMAGE | ( | imageProcessorGradients |  | ) | `[private]`

GT2005ImageProcessor::N_DECLARE_DEBUG_IMAGE | ( | colorCorrected |  | ) | `[private]`

GT2005ImageProcessor::N_DECLARE_DEBUG_IMAGE | ( | colorCorrectedAsJpeg |  | ) | `[private]`

GT2005ImageProcessor::N_DECLARE_DEBUG_COLOR_CLASS_IMAGE | ( | segmented |  | ) | `[private]`

GT2005ImageProcessor::N_DECLARE_DEBUG_IMAGE | ( | ball |  | ) | `[private]`

GT2005ImageProcessor::N_DECLARE_DEBUG_IMAGE | ( | edgeDetection |  | ) | `[private]`

GT2005ImageProcessor::N_DECLARE_DEBUG_GRAY_SCALE_IMAGE | ( | scanLines |  | ) | `[private]`

## Member Data Documentation

const double GT2005ImageProcessor::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 20 of file GT2005ImageProcessor.cpp. Referenced by scanColumns().

const double GT2005ImageProcessor::verticalScanLineLength13 = 55.0`[static]`

| Definition at line 21 of file GT2005ImageProcessor.cpp. Referenced by scanColumns().

const double GT2005ImageProcessor::verticalScanLineLength2 = 75.0`[static]`

| Definition at line 22 of file GT2005ImageProcessor.cpp. Referenced by scanColumns().

const double GT2005ImageProcessor::verticalScanLineSpacing = 4.0`[static]`

| Definition at line 23 of file GT2005ImageProcessor.cpp. Referenced by scanColumns().

const double GT2005ImageProcessor::minAngleBetweenFlagAndGoal = 0.05`[static, private]`

| Definition at line 32 of file GT2005ImageProcessor.cpp. Referenced by filterPercepts().

double GT2005ImageProcessor::xFactor`[private]`

| Factor to convert the pixel coordinate space to the anglular coordinate space. Definition at line 124 of file GT2005ImageProcessor.h. Referenced by execute().

double GT2005ImageProcessor::yFactor`[private]`

| Factor to convert the pixel coordinate space to the anglular coordinate space. Definition at line 124 of file GT2005ImageProcessor.h. Referenced by execute().

int GT2005ImageProcessor::yThreshold`[private]`

| Brightness increase threshold. Definition at line 126 of file GT2005ImageProcessor.h. Referenced by GT2005ImageProcessor(), and scan().

int GT2005ImageProcessor::vThreshold`[private]`

| Brightness decrease threshold. Definition at line 127 of file GT2005ImageProcessor.h. Referenced by GT2005ImageProcessor(), and scan().

int GT2005ImageProcessor::orangeCount`[private]`

| Number of columns with ball points. Definition at line 128 of file GT2005ImageProcessor.h. Referenced by scan().

int GT2005ImageProcessor::noOrangeCount`[private]`

| Number of columns without a ball point. Definition at line 128 of file GT2005ImageProcessor.h. Referenced by scan().

int GT2005ImageProcessor::noRedCount`[private]`

| Number of columns without a red robot point. Definition at line 128 of file GT2005ImageProcessor.h. Referenced by execute().

int GT2005ImageProcessor::noBlueCount`[private]`

| Number of columns without a blue robot point. Definition at line 128 of file GT2005ImageProcessor.h. Referenced by execute().

int GT2005ImageProcessor::noGoalCount`[private]`

| Number of columns without a opponent goal seen. Definition at line 128 of file GT2005ImageProcessor.h.

int GT2005ImageProcessor::closestBottom`[private]`

| Closest bottom point on the grid. Definition at line 128 of file GT2005ImageProcessor.h. Referenced by execute(), and scan().

Vector2<int> GT2005ImageProcessor::firstRed`[private]`

| First red robot point in a cluster. Definition at line 134 of file GT2005ImageProcessor.h. Referenced by scan().

Vector2<int> GT2005ImageProcessor::closestRed`[private]`

| Closest red robot point in a cluster. Definition at line 134 of file GT2005ImageProcessor.h.

Vector2<int> GT2005ImageProcessor::lastRed`[private]`

| Last red robot point in a cluster. Definition at line 134 of file GT2005ImageProcessor.h. Referenced by scan().

Vector2<int> GT2005ImageProcessor::firstBlue`[private]`

| First blue robot point in a cluster. Definition at line 134 of file GT2005ImageProcessor.h. Referenced by scan().

Vector2<int> GT2005ImageProcessor::closestBlue`[private]`

| Closest blue robot point in a cluster. Definition at line 134 of file GT2005ImageProcessor.h.

Vector2<int> GT2005ImageProcessor::lastBlue`[private]`

| Last blue robot point in a cluster. Definition at line 134 of file GT2005ImageProcessor.h. Referenced by scan().

Vector2<int> GT2005ImageProcessor::firstFlag`[private]`

| First flag point in a cluster. Definition at line 134 of file GT2005ImageProcessor.h.

Vector2<int> GT2005ImageProcessor::lastFlag`[private]`

| Last flag point in a cluster. Definition at line 134 of file GT2005ImageProcessor.h.

Vector2<int> GT2005ImageProcessor::lastRedMidPoint`[private]`

| Last flag point in a cluster. Definition at line 134 of file GT2005ImageProcessor.h. Referenced by execute().

Vector2<int> GT2005ImageProcessor::lastBlueMidPoint`[private]`

| Needed for debug drawings. Definition at line 134 of file GT2005ImageProcessor.h. Referenced by execute().

bool GT2005ImageProcessor::goalAtBorder`[private]`

| Is the first goal point at the image border? Definition at line 146 of file GT2005ImageProcessor.h. Referenced by execute(), and scan().

ImageInfo GT2005ImageProcessor::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 152 of file GT2005ImageProcessor.h. Referenced by calcEdgeAngle(), execute(), pixelBelowHorizon(), scan(), scanColumns(), and scanRows().

int GT2005ImageProcessor::longestBallRun`[private]`

| Definition at line 155 of file GT2005ImageProcessor.h. Referenced by execute(), and scan().

Vector2<int> GT2005ImageProcessor::ballCandidate`[private]`

| Definition at line 156 of file GT2005ImageProcessor.h. Referenced by execute(), and scan().

GT2005Clustering GT2005ImageProcessor::ballClustering`[private]`

| Definition at line 157 of file GT2005ImageProcessor.h. Referenced by execute(), and scan().

GT2005LineFinder_DeterministicApproach GT2005ImageProcessor::lineFinder`[private]`

| Definition at line 158 of file GT2005ImageProcessor.h. Referenced by calcEdgeAngle(), and execute().

GT2005CenterCircleFinder GT2005ImageProcessor::circleFinder`[private]`

| Definition at line 159 of file GT2005ImageProcessor.h. Referenced by execute().

CameraMatrix GT2005ImageProcessor::cmTricot`[private]`

| Camera matrix without tricot height. Definition at line 161 of file GT2005ImageProcessor.h. Referenced by execute().

CameraMatrix GT2005ImageProcessor::prevCmTricot`[private]`

| The tricot matrix of the previous image. Definition at line 161 of file GT2005ImageProcessor.h.

ColorCorrector GT2005ImageProcessor::colorCorrector`[private]`

| The color correction tool. Definition at line 165 of file GT2005ImageProcessor.h.

GT2005GoalRecognizer GT2005ImageProcessor::goalSpecialistY`[private]`

| Goal specialists to recognize the goals (one for each color). Definition at line 168 of file GT2005ImageProcessor.h. Referenced by execute(), and scan().

GT2005GoalRecognizer GT2005ImageProcessor::goalSpecialistB`[private]`

| Goal specialists to recognize the goals (one for each color). Definition at line 168 of file GT2005ImageProcessor.h. Referenced by execute(), and scan().

GT2005BeaconDetector GT2005ImageProcessor::beaconDetector`[private]`

| The beacon detector. Definition at line 171 of file GT2005ImageProcessor.h. Referenced by execute(), GT2005ImageProcessor(), and handleMessage().

GT2005BallSpecialist GT2005ImageProcessor::ballSpecialist`[private]`

| The ball specialist. Definition at line 172 of file GT2005ImageProcessor.h. Referenced by execute().

GT2005EdgeSpecialist GT2005ImageProcessor::edgeSpecialist`[private]`

| The edge specialist. Definition at line 173 of file GT2005ImageProcessor.h. Referenced by execute(), and scan().

GT2005PlayerSpecialist GT2005ImageProcessor::playerSpecialist`[private]`

| The player specialist. Definition at line 174 of file GT2005ImageProcessor.h.

const unsigned char* GT2005ImageProcessor::last`[private]`

| Definition at line 244 of file GT2005ImageProcessor.h.

Drawings::Color GT2005ImageProcessor::lineColor`[private]`

| Definition at line 245 of file GT2005ImageProcessor.h. Referenced by plot(), and scan().

double GT2005ImageProcessor::angleBetweenDirectionOfViewAndGround`[private]`

| Definition at line 249 of file GT2005ImageProcessor.h. Referenced by execute().

int GT2005ImageProcessor::numberOfScannedPixels`[private]`

| Definition at line 251 of file GT2005ImageProcessor.h. Referenced by execute(), and scan().

Matrix2x2<double> GT2005ImageProcessor::rotation2x2`[private]`

| Definition at line 253 of file GT2005ImageProcessor.h. Referenced by calcEdgeAngle(), and GT2005ImageProcessor().

The documentation for this class was generated from the following files:

- Modules/ImageProcessor/GT2005ImageProcessor/GT2005ImageProcessor.h
- Modules/ImageProcessor/GT2005ImageProcessor/GT2005ImageProcessor.cpp