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

GT2004FlagSpecialist Class Reference

As part of the GridImageProcessor the GT2004FlagSpecialist searches for flag landmarks starting at a point in an Image determined before. More...

#include <GT2004FlagSpecialist.h>

Collaboration diagram for GT2004FlagSpecialist:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 GT2004FlagSpecialist (const ColorCorrector &)
void init (const Image &image)
 Initializes the flag specialist.

void searchFlags (const Image &image, const ColorTable &colorTable, const CameraMatrix &cameraMatrix, colorClass color, bool pinkIsTop, const Geometry::Line horizonLine, int x, int y)
 Searches for the flag in the image, starting from the specified point.

void getFlagPercept (const CameraMatrix &cameraMatrix, const CameraMatrix &prevCameraMatrix, const CameraInfo &cameraInfo, const Geometry::Line horizonLine, LandmarksPercept &landmarksPercept)
 DECLARE_DEBUG_IMAGE (imageProcessorFlags)
 Used for visualization of the flag scans.


Private Types

enum  { maxNumberOfBoundingBoxes = 6 }
enum  { numberOfHorizontalScans = 5, numberOfVerticalScans = 3 }
enum  Direction {
  up, down, left,
  right
}
enum  DebugType { initial, vertical, horizontal }

Private Member Functions

void estimateOffsetForFlags (LandmarksPercept &landmarksPercept, const Vector2< double > &cameraOffset)
bool findEndOfFlag (const Image &image, const CameraInfo &bwCameraInfo, const ColorTable &colorTable, const Vector2< int > start, Vector2< double > horizonDirection, Direction direction, Vector2< int > &destination, colorClass color, bool pinkIsTop, bool startIsInTop, DebugType type, int &countPixel, int &countTop, int &countBottom)

Private Attributes

const ColorCorrectorcolorCorrector
int imageWidth
int imageHeight
Vector2< int > north
Vector2< int > east
Vector2< int > south
Vector2< int > west
Vector2< int > start
Vector2< int > destination
double boundingBoxTop [maxNumberOfBoundingBoxes][6]
double boundingBoxBottom [maxNumberOfBoundingBoxes][6]
double boundingBoxLeft [maxNumberOfBoundingBoxes][6]
double boundingBoxRight [maxNumberOfBoundingBoxes][6]
bool boundingBoxTopValid [maxNumberOfBoundingBoxes][6]
bool boundingBoxBottomValid [maxNumberOfBoundingBoxes][6]
bool boundingBoxLeftValid [maxNumberOfBoundingBoxes][6]
bool boundingBoxRightValid [maxNumberOfBoundingBoxes][6]
int numberOfBoundingBoxes [6]
int bestBoundingBox [6]

Detailed Description

As part of the GridImageProcessor the GT2004FlagSpecialist searches for flag landmarks starting at a point in an Image determined before.

Definition at line 22 of file GT2004FlagSpecialist.h.


Member Enumeration Documentation

anonymous enum [private]
 

Enumeration values:
maxNumberOfBoundingBoxes 

Definition at line 67 of file GT2004FlagSpecialist.h.

anonymous enum [private]
 

Enumeration values:
numberOfHorizontalScans 
numberOfVerticalScans 

Definition at line 68 of file GT2004FlagSpecialist.h.

enum GT2004FlagSpecialist::Direction [private]
 

Enumeration values:
up 
down 
left 
right 

Definition at line 84 of file GT2004FlagSpecialist.h.

enum GT2004FlagSpecialist::DebugType [private]
 

Enumeration values:
initial 
vertical 
horizontal 

Definition at line 85 of file GT2004FlagSpecialist.h.


Constructor & Destructor Documentation

GT2004FlagSpecialist::GT2004FlagSpecialist const ColorCorrector  ) 
 

Definition at line 16 of file GT2004FlagSpecialist.cpp.


Member Function Documentation

void GT2004FlagSpecialist::init const Image image  ) 
 

Initializes the flag specialist.

Definition at line 21 of file GT2004FlagSpecialist.cpp.

References INIT_DEBUG_IMAGE, and numberOfBoundingBoxes.

Referenced by GT2004BeaconDetector::execute().

void GT2004FlagSpecialist::searchFlags const Image image,
const ColorTable colorTable,
const CameraMatrix cameraMatrix,
colorClass  color,
bool  pinkIsTop,
const Geometry::Line  horizonLine,
int  x,
int  y
 

Searches for the flag in the image, starting from the specified point.

Definition at line 31 of file GT2004FlagSpecialist.cpp.

References Geometry::Line::base, colorClass, DEBUG_IMAGE_SET_PIXEL_BLUE, DEBUG_IMAGE_SET_PIXEL_GREEN, DEBUG_IMAGE_SET_PIXEL_RED, DEBUG_IMAGE_SET_PIXEL_YELLOW, Geometry::Line::direction, DOT, east, CameraInfo::focalLength, CameraInfo::focalLengthInv, Geometry::getDistanceToLine(), north, CameraInfo::opticalCenter, CameraInfo::resolutionHeight, CameraInfo::resolutionWidth, south, sqr, west, Vector2< V >::x, Vector2< double >::x, Vector2< V >::y, and Vector2< double >::y.

Referenced by GT2004BeaconDetector::scanForBeaconEdges().

Here is the call graph for this function:

void GT2004FlagSpecialist::getFlagPercept const CameraMatrix cameraMatrix,
const CameraMatrix prevCameraMatrix,
const CameraInfo cameraInfo,
const Geometry::Line  horizonLine,
LandmarksPercept landmarksPercept
 

Definition at line 439 of file GT2004FlagSpecialist.cpp.

References ConditionalBoundary::addX(), ConditionalBoundary::addY(), CameraInfo::focalLength, CameraInfo::focalLengthInv, getPlayer(), Player::getTeamColor(), CameraInfo::opticalCenter, Geometry::rayFromCamera(), CameraInfo::resolutionHeight, CameraInfo::resolutionWidth, SEND_DEBUG_IMAGE, sqr, Vector3< V >::x, Vector2< V >::x, Vector2< double >::x, Vector3< V >::y, Vector2< V >::y, and Vector2< double >::y.

Referenced by GT2004BeaconDetector::execute().

Here is the call graph for this function:

void GT2004FlagSpecialist::estimateOffsetForFlags LandmarksPercept landmarksPercept,
const Vector2< double > &  cameraOffset
[private]
 

Definition at line 567 of file GT2004FlagSpecialist.cpp.

References Vector2< double >::abs(), Flag::angle, Flag::angleValidity, Flag::distance, Flag::distanceValidity, Range< double >::getCenter(), Range< double >::getSize(), ConditionalBoundary::isOnBorder(), Range< double >::max, Range< double >::min, Pose2D::translation, Boundary< double >::x, and Boundary< double >::y.

Here is the call graph for this function:

bool GT2004FlagSpecialist::findEndOfFlag const Image image,
const CameraInfo bwCameraInfo,
const ColorTable colorTable,
const Vector2< int >  start,
Vector2< double >  horizonDirection,
Direction  direction,
Vector2< int > &  destination,
colorClass  color,
bool  pinkIsTop,
bool  startIsInTop,
DebugType  type,
int &  countPixel,
int &  countTop,
int &  countBottom
[private]
 

Definition at line 271 of file GT2004FlagSpecialist.cpp.

References colorClass, CORRECTED_COLOR_CLASS, DEBUG_IMAGE_SET_PIXEL_RED, DEBUG_IMAGE_SET_PIXEL_Y, Vector2< V >::x, Vector2< double >::x, Vector2< V >::y, and Vector2< double >::y.

GT2004FlagSpecialist::DECLARE_DEBUG_IMAGE imageProcessorFlags   ) 
 

Used for visualization of the flag scans.


Member Data Documentation

const ColorCorrector& GT2004FlagSpecialist::colorCorrector [private]
 

Definition at line 49 of file GT2004FlagSpecialist.h.

int GT2004FlagSpecialist::imageWidth [private]
 

Definition at line 51 of file GT2004FlagSpecialist.h.

int GT2004FlagSpecialist::imageHeight [private]
 

Definition at line 52 of file GT2004FlagSpecialist.h.

Vector2<int> GT2004FlagSpecialist::north [private]
 

Definition at line 55 of file GT2004FlagSpecialist.h.

Vector2<int> GT2004FlagSpecialist::east [private]
 

Definition at line 56 of file GT2004FlagSpecialist.h.

Vector2<int> GT2004FlagSpecialist::south [private]
 

Definition at line 57 of file GT2004FlagSpecialist.h.

Vector2<int> GT2004FlagSpecialist::west [private]
 

Definition at line 58 of file GT2004FlagSpecialist.h.

Vector2<int> GT2004FlagSpecialist::start [private]
 

Definition at line 59 of file GT2004FlagSpecialist.h.

Vector2<int> GT2004FlagSpecialist::destination [private]
 

Definition at line 60 of file GT2004FlagSpecialist.h.

double GT2004FlagSpecialist::boundingBoxTop[maxNumberOfBoundingBoxes][6] [private]
 

Definition at line 70 of file GT2004FlagSpecialist.h.

double GT2004FlagSpecialist::boundingBoxBottom[maxNumberOfBoundingBoxes][6] [private]
 

Definition at line 71 of file GT2004FlagSpecialist.h.

double GT2004FlagSpecialist::boundingBoxLeft[maxNumberOfBoundingBoxes][6] [private]
 

Definition at line 72 of file GT2004FlagSpecialist.h.

double GT2004FlagSpecialist::boundingBoxRight[maxNumberOfBoundingBoxes][6] [private]
 

Definition at line 73 of file GT2004FlagSpecialist.h.

bool GT2004FlagSpecialist::boundingBoxTopValid[maxNumberOfBoundingBoxes][6] [private]
 

Definition at line 75 of file GT2004FlagSpecialist.h.

bool GT2004FlagSpecialist::boundingBoxBottomValid[maxNumberOfBoundingBoxes][6] [private]
 

Definition at line 76 of file GT2004FlagSpecialist.h.

bool GT2004FlagSpecialist::boundingBoxLeftValid[maxNumberOfBoundingBoxes][6] [private]
 

Definition at line 77 of file GT2004FlagSpecialist.h.

bool GT2004FlagSpecialist::boundingBoxRightValid[maxNumberOfBoundingBoxes][6] [private]
 

Definition at line 78 of file GT2004FlagSpecialist.h.

int GT2004FlagSpecialist::numberOfBoundingBoxes[6] [private]
 

Definition at line 80 of file GT2004FlagSpecialist.h.

Referenced by init().

int GT2004FlagSpecialist::bestBoundingBox[6] [private]
 

Definition at line 82 of file GT2004FlagSpecialist.h.


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