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

GT2004GoalRecognizer Class Reference

The goal recognizer recognizes the goals in the image. More...

#include <GT2004GoalRecognizer.h>

Collaboration diagram for GT2004GoalRecognizer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 GT2004GoalRecognizer (const Image &image, const CameraMatrix &cameraMatrix, const CameraMatrix &prevCameraMatrix, const ColorTable &colorTable, const ColorCorrector &colorCorrector, ObstaclesPercept &obstaclesPercept, LandmarksPercept &landmarksPercept)
 ~GT2004GoalRecognizer ()
void execute ()

Private Types

enum  { maxNumberOfHorizontalScanLines = 32 }
enum  { maxNumberOfGoalScanLines = 255 }

Private Member Functions

void calculateScanLinesParallelToHorizon ()
 Calculates the scan lines near the horizon for the goals.

void calculateScanLinesParallelToHorizon (int distanceAboveHorizon, int distanceBelowHorizon, int numberOfScanLines)
 Calculates the scan lines near the horizon for the goals.

void scanHorizontalForGoals ()
 Scans horizontal for goals.

void calculateVerticalGoalScanLines ()
 Calculates the vertical scan lines for the goals.

void scanLinesForGoals ()
 Scans vertical for goals.

 DECLARE_DEBUG_IMAGE (imageProcessorGoals)

Private Attributes

const Imageimage
 A reference to the image that is scanned for a goal.

const CameraMatrixcameraMatrix
 A reference to the camera matrix that describes position and rotation of the camera when the image was aquired.

const CameraMatrixprevCameraMatrix
 A reference to the previous camera matrix that describes position and rotation of the camera when the image was aquired.

const ColorTablecolorTable
 A reference to the color table.

int goalIndicationAboveHorizon
int goalIndicationBelowHorizon
bool useFixedScanLines
ObstaclesPerceptobstaclesPercept
 A reference to the obstacles percept.

LandmarksPerceptlandmarksPercept
 A reference to the obstacles percept.

const ColorCorrectorcolorCorrector
 A reference to the color corrector.

colorClass colorOfOpponentGoal
 The color class of the opponent goal.

colorClass colorOfOwnGoal
 The color class of the own goal.

Geometry::Line horizonLine
 A representation of the horizon.

Geometry::Line verticalLine
 A representation of the horizon.

int numberOfHorizontalScanLines
 The number of horizontal scan lines.

Vector2< int > leftPoint [maxNumberOfHorizontalScanLines]
 representation of the left points of the horizontal scan lines

Vector2< int > rightPoint [maxNumberOfHorizontalScanLines]
 representation of the right points of the horizontal scan lines

int numberOfGoalIndications
 the number of indications for goals

Vector2< int > goalIndicationLeft [maxNumberOfGoalScanLines]
 left point of an indications for a goal

Vector2< int > goalIndicationCenter [maxNumberOfGoalScanLines]
 left point of an indications for a goal

Vector2< int > goalIndicationRight [maxNumberOfGoalScanLines]
 right point of an indication for a goal

bool leftOfGoalIndicationIsOnBorder [maxNumberOfGoalScanLines]
 true if the left end of the goal indication is on the border of the image

bool rightOfGoalIndicationIsOnBorder [maxNumberOfGoalScanLines]
 true if the right end of the goal indication is on the border of the image

colorClass colorOfGoalIndication [maxNumberOfGoalScanLines]
 the color class of the goal indication

int numberOfGoalScanLines
 The number of vertical scan lines where a goal is searched.

Vector2< int > topGoalPoint [maxNumberOfGoalScanLines]
 representation of the top points of the goal scan lines

Vector2< int > bottomGoalPoint [maxNumberOfGoalScanLines]
 representation of the bottom points of the goal scan lines

bool scanLineToCheckBestAngle [maxNumberOfGoalScanLines]
int indexOfGoalIndication [maxNumberOfGoalScanLines]
colorClass colorOfGoalScanLine [maxNumberOfGoalScanLines]

Detailed Description

The goal recognizer recognizes the goals in the image.

The recognizer scans horizontal lines in the image left to right. Indications for a goal are grouped and checked vertical.

Author:
Matthias Juengel

Definition at line 22 of file GT2004GoalRecognizer.h.


Member Enumeration Documentation

anonymous enum [private]
 

Enumeration values:
maxNumberOfHorizontalScanLines 

Definition at line 156 of file GT2004GoalRecognizer.h.

anonymous enum [private]
 

Enumeration values:
maxNumberOfGoalScanLines 

Definition at line 157 of file GT2004GoalRecognizer.h.


Constructor & Destructor Documentation

GT2004GoalRecognizer::GT2004GoalRecognizer const Image image,
const CameraMatrix cameraMatrix,
const CameraMatrix prevCameraMatrix,
const ColorTable colorTable,
const ColorCorrector colorCorrector,
ObstaclesPercept obstaclesPercept,
LandmarksPercept landmarksPercept
 

Definition at line 24 of file GT2004GoalRecognizer.cpp.

GT2004GoalRecognizer::~GT2004GoalRecognizer  ) 
 

Definition at line 45 of file GT2004GoalRecognizer.cpp.


Member Function Documentation

void GT2004GoalRecognizer::execute  ) 
 

Definition at line 49 of file GT2004GoalRecognizer.cpp.

References Geometry::Line::base, Geometry::calculateHorizon(), calculateScanLinesParallelToHorizon(), calculateVerticalGoalScanLines(), colorOfOpponentGoal, colorOfOwnGoal, Geometry::Line::direction, getPlayer(), Player::getTeamColor(), goalIndicationAboveHorizon, goalIndicationBelowHorizon, horizonLine, INIT_DEBUG_IMAGE, scanHorizontalForGoals(), scanLinesForGoals(), SEND_DEBUG_IMAGE, useFixedScanLines, verticalLine, Vector2< double >::x, and Vector2< double >::y.

Referenced by GT2004ImageProcessor::execute().

Here is the call graph for this function:

void GT2004GoalRecognizer::calculateScanLinesParallelToHorizon  )  [private]
 

Calculates the scan lines near the horizon for the goals.

Definition at line 81 of file GT2004GoalRecognizer.cpp.

References Geometry::Line::base, Geometry::Line::direction, Geometry::getIntersectionPointsOfLineAndRectangle(), horizonLine, leftPoint, numberOfHorizontalScanLines, rightPoint, and verticalLine.

Referenced by execute().

Here is the call graph for this function:

void GT2004GoalRecognizer::calculateScanLinesParallelToHorizon int  distanceAboveHorizon,
int  distanceBelowHorizon,
int  numberOfScanLines
[private]
 

Calculates the scan lines near the horizon for the goals.

Definition at line 109 of file GT2004GoalRecognizer.cpp.

References Geometry::Line::base, Geometry::Line::direction, and Geometry::getIntersectionPointsOfLineAndRectangle().

Here is the call graph for this function:

void GT2004GoalRecognizer::scanHorizontalForGoals  )  [private]
 

Scans horizontal for goals.

Definition at line 143 of file GT2004GoalRecognizer.cpp.

References RangeArray< T >::add(), Geometry::calculatePointByAngles(), colorClass, colorOfGoalIndication, colorOfOpponentGoal, CORRECTED_COLOR_CLASS, DEBUG_IMAGE_SET_PIXEL_BLACK, DEBUG_IMAGE_SET_PIXEL_GRAY, DEBUG_IMAGE_SET_PIXEL_WHITE, GT2004GoalRecognizer::ColoredPartsCheck::determineLargePart(), DOT, GT2004GoalRecognizer::ColoredPartsCheck::firstPoint, RangeArray< T >::getNumberOfClusters(), Geometry::PixeledLine::getNumberOfPixels(), Geometry::PixeledLine::getPixelX(), Geometry::PixeledLine::getPixelY(), Range< T >::getSize(), goalIndicationCenter, goalIndicationLeft, goalIndicationRight, GT2004GoalRecognizer::ColoredPartsCheck::lastPoint, leftOfGoalIndicationIsOnBorder, leftPoint, LINE, Range< T >::max, Range< T >::min, GT2004GoalRecognizer::ColoredPartsCheck::numberOfColoredPixels, numberOfGoalIndications, numberOfHorizontalScanLines, GT2004GoalRecognizer::ColoredPartsCheck::numberOfLargeParts, GT2004GoalRecognizer::ColoredPartsCheck::rangeOfColor, rightOfGoalIndicationIsOnBorder, rightPoint, Vector2< V >::x, Vector2< int >::x, Vector2< V >::y, and Vector2< int >::y.

Referenced by execute().

Here is the call graph for this function:

void GT2004GoalRecognizer::calculateVerticalGoalScanLines  )  [private]
 

Calculates the vertical scan lines for the goals.

Definition at line 408 of file GT2004GoalRecognizer.cpp.

References bottomGoalPoint, Geometry::calculateAnglesForPoint(), Geometry::calculatePointByAngles(), Geometry::clipLineWithRectangleCohenSutherland(), colorOfGoalIndication, colorOfGoalScanLine, colorOfOpponentGoal, colorOfOwnGoal, goalIndicationCenter, goalIndicationLeft, goalIndicationRight, indexOfGoalIndication, numberOfGoalIndications, numberOfGoalScanLines, scanLineToCheckBestAngle, topGoalPoint, Vector2< V >::x, and Vector2< V >::y.

Referenced by execute().

Here is the call graph for this function:

void GT2004GoalRecognizer::scanLinesForGoals  )  [private]
 

Scans vertical for goals.

scanLineToCheckBestAngle[i]

Definition at line 488 of file GT2004GoalRecognizer.cpp.

References ConditionalBoundary::add(), LandmarksPercept::addGoal(), ConditionalBoundary::addX(), ConditionalBoundary::addY(), bottomGoalPoint, Geometry::calculateAnglesForPoint(), colorClass, colorOfGoalIndication, colorOfGoalScanLine, colorOfOpponentGoal, COMPLEX_DRAWING, CORRECTED_COLOR_CLASS, DEBUG_IMAGE_SET_PIXEL_BLACK, DEBUG_IMAGE_SET_PIXEL_BLUE, DEBUG_IMAGE_SET_PIXEL_GRAY, DEBUG_IMAGE_SET_PIXEL_GREEN, DEBUG_IMAGE_SET_PIXEL_PINK, DEBUG_IMAGE_SET_PIXEL_RED, DEBUG_IMAGE_SET_PIXEL_WHITE, GT2004GoalRecognizer::ColoredPartsCheck::determineLargePart(), DOT, LandmarksPercept::estimateOffsetForGoals(), GT2004GoalRecognizer::ColoredPartsCheck::firstPoint, fromDegrees(), Geometry::getDistanceBySize(), Geometry::PixeledLine::getNumberOfPixels(), Geometry::PixeledLine::getPixelX(), Geometry::PixeledLine::getPixelY(), getPlayer(), Range< double >::getSize(), Player::getTeamColor(), goalIndicationLeft, goalIndicationRight, indexOfGoalIndication, ConditionalBoundary::isOnBorder(), GT2004GoalRecognizer::ColoredPartsCheck::largePartBegin, GT2004GoalRecognizer::ColoredPartsCheck::largePartBeginIsOnBorder, GT2004GoalRecognizer::ColoredPartsCheck::largePartEnd, GT2004GoalRecognizer::ColoredPartsCheck::largePartEndIsOnBorder, GT2004GoalRecognizer::ColoredPartsCheck::lastPoint, leftOfGoalIndicationIsOnBorder, LINE, Range< double >::max, maxNumberOfGoalScanLines, Range< double >::min, GT2004GoalRecognizer::ColoredPartsCheck::numberOfColoredPixels, numberOfGoalIndications, numberOfGoalScanLines, GT2004GoalRecognizer::ColoredPartsCheck::numberOfLargeParts, GT2004GoalRecognizer::ColoredPartsCheck::rangeOfColor, rightOfGoalIndicationIsOnBorder, scanLineToCheckBestAngle, topGoalPoint, Boundary< double >::x, Vector2< V >::x, Vector2< int >::x, Boundary< double >::y, Vector2< V >::y, and Vector2< int >::y.

Referenced by execute().

Here is the call graph for this function:

GT2004GoalRecognizer::DECLARE_DEBUG_IMAGE imageProcessorGoals   )  [private]
 


Member Data Documentation

const Image& GT2004GoalRecognizer::image [private]
 

A reference to the image that is scanned for a goal.

Definition at line 120 of file GT2004GoalRecognizer.h.

const CameraMatrix& GT2004GoalRecognizer::cameraMatrix [private]
 

A reference to the camera matrix that describes position and rotation of the camera when the image was aquired.

Definition at line 123 of file GT2004GoalRecognizer.h.

const CameraMatrix& GT2004GoalRecognizer::prevCameraMatrix [private]
 

A reference to the previous camera matrix that describes position and rotation of the camera when the image was aquired.

Definition at line 126 of file GT2004GoalRecognizer.h.

const ColorTable& GT2004GoalRecognizer::colorTable [private]
 

A reference to the color table.

Definition at line 129 of file GT2004GoalRecognizer.h.

int GT2004GoalRecognizer::goalIndicationAboveHorizon [private]
 

Definition at line 131 of file GT2004GoalRecognizer.h.

Referenced by execute().

int GT2004GoalRecognizer::goalIndicationBelowHorizon [private]
 

Definition at line 132 of file GT2004GoalRecognizer.h.

Referenced by execute().

bool GT2004GoalRecognizer::useFixedScanLines [private]
 

Definition at line 133 of file GT2004GoalRecognizer.h.

Referenced by execute().

ObstaclesPercept& GT2004GoalRecognizer::obstaclesPercept [private]
 

A reference to the obstacles percept.

Definition at line 136 of file GT2004GoalRecognizer.h.

LandmarksPercept& GT2004GoalRecognizer::landmarksPercept [private]
 

A reference to the obstacles percept.

Definition at line 139 of file GT2004GoalRecognizer.h.

const ColorCorrector& GT2004GoalRecognizer::colorCorrector [private]
 

A reference to the color corrector.

Definition at line 142 of file GT2004GoalRecognizer.h.

colorClass GT2004GoalRecognizer::colorOfOpponentGoal [private]
 

The color class of the opponent goal.

Definition at line 145 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), execute(), scanHorizontalForGoals(), and scanLinesForGoals().

colorClass GT2004GoalRecognizer::colorOfOwnGoal [private]
 

The color class of the own goal.

Definition at line 148 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), and execute().

Geometry::Line GT2004GoalRecognizer::horizonLine [private]
 

A representation of the horizon.

Definition at line 151 of file GT2004GoalRecognizer.h.

Referenced by calculateScanLinesParallelToHorizon(), and execute().

Geometry::Line GT2004GoalRecognizer::verticalLine [private]
 

A representation of the horizon.

Definition at line 151 of file GT2004GoalRecognizer.h.

Referenced by calculateScanLinesParallelToHorizon(), and execute().

int GT2004GoalRecognizer::numberOfHorizontalScanLines [private]
 

The number of horizontal scan lines.

Definition at line 154 of file GT2004GoalRecognizer.h.

Referenced by calculateScanLinesParallelToHorizon(), and scanHorizontalForGoals().

Vector2<int> GT2004GoalRecognizer::leftPoint[maxNumberOfHorizontalScanLines] [private]
 

representation of the left points of the horizontal scan lines

Definition at line 160 of file GT2004GoalRecognizer.h.

Referenced by calculateScanLinesParallelToHorizon(), and scanHorizontalForGoals().

Vector2<int> GT2004GoalRecognizer::rightPoint[maxNumberOfHorizontalScanLines] [private]
 

representation of the right points of the horizontal scan lines

Definition at line 163 of file GT2004GoalRecognizer.h.

Referenced by calculateScanLinesParallelToHorizon(), and scanHorizontalForGoals().

int GT2004GoalRecognizer::numberOfGoalIndications [private]
 

the number of indications for goals

Definition at line 166 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), scanHorizontalForGoals(), and scanLinesForGoals().

Vector2<int> GT2004GoalRecognizer::goalIndicationLeft[maxNumberOfGoalScanLines] [private]
 

left point of an indications for a goal

Definition at line 169 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), scanHorizontalForGoals(), and scanLinesForGoals().

Vector2<int> GT2004GoalRecognizer::goalIndicationCenter[maxNumberOfGoalScanLines] [private]
 

left point of an indications for a goal

Definition at line 172 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), and scanHorizontalForGoals().

Vector2<int> GT2004GoalRecognizer::goalIndicationRight[maxNumberOfGoalScanLines] [private]
 

right point of an indication for a goal

Definition at line 175 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), scanHorizontalForGoals(), and scanLinesForGoals().

bool GT2004GoalRecognizer::leftOfGoalIndicationIsOnBorder[maxNumberOfGoalScanLines] [private]
 

true if the left end of the goal indication is on the border of the image

Definition at line 178 of file GT2004GoalRecognizer.h.

Referenced by scanHorizontalForGoals(), and scanLinesForGoals().

bool GT2004GoalRecognizer::rightOfGoalIndicationIsOnBorder[maxNumberOfGoalScanLines] [private]
 

true if the right end of the goal indication is on the border of the image

Definition at line 181 of file GT2004GoalRecognizer.h.

Referenced by scanHorizontalForGoals(), and scanLinesForGoals().

colorClass GT2004GoalRecognizer::colorOfGoalIndication[maxNumberOfGoalScanLines] [private]
 

the color class of the goal indication

Definition at line 184 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), scanHorizontalForGoals(), and scanLinesForGoals().

int GT2004GoalRecognizer::numberOfGoalScanLines [private]
 

The number of vertical scan lines where a goal is searched.

Definition at line 187 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), and scanLinesForGoals().

Vector2<int> GT2004GoalRecognizer::topGoalPoint[maxNumberOfGoalScanLines] [private]
 

representation of the top points of the goal scan lines

Definition at line 190 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), and scanLinesForGoals().

Vector2<int> GT2004GoalRecognizer::bottomGoalPoint[maxNumberOfGoalScanLines] [private]
 

representation of the bottom points of the goal scan lines

Definition at line 193 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), and scanLinesForGoals().

bool GT2004GoalRecognizer::scanLineToCheckBestAngle[maxNumberOfGoalScanLines] [private]
 

Definition at line 195 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), and scanLinesForGoals().

int GT2004GoalRecognizer::indexOfGoalIndication[maxNumberOfGoalScanLines] [private]
 

Definition at line 198 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), and scanLinesForGoals().

colorClass GT2004GoalRecognizer::colorOfGoalScanLine[maxNumberOfGoalScanLines] [private]
 

Definition at line 201 of file GT2004GoalRecognizer.h.

Referenced by calculateVerticalGoalScanLines(), and scanLinesForGoals().


The documentation for this class was generated from the following files:
Generated on Thu Sep 23 20:07:22 2004 for GT2004 by doxygen 1.3.6