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

SlamEdgeSpecialist Class Reference

The EdgeSpecialist finds a line- and border-edges in an image. More...

#include <SlamEdgeSpecialist.h>

Collaboration diagram for SlamEdgeSpecialist:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SlamEdgeSpecialist ()
void reset ()
 reset all data before processing next frame.

void resetLine ()
 reset before next scanline.

void checkPoint (Vector2< int > point, colorClass color, const CameraMatrix &cameraMatrix, const CameraMatrix &prevCameraMatrix, const Image &image)
 check point in camera-coordinates with given color on scanline if interesting changes.

void addCandidate (Vector2< int > point, const Image &image)
 add a point in camera-coordinates which is a candidate for an edge point.

void getEdgesPercept (EdgesPercept &percept, const CameraMatrix &cameraMatrix, const CameraMatrix &prevCameraMatrix, const Image &image)
 Searches for the edges based on the points and return edge-percepts from those.


Private Types

enum  { maxNumberOfEdgePoints = 200 }

Private Attributes

bool greenBefore
bool whiteBefore
int numberOfContinuousNoColor
Vector2< int > lastGreen
Vector2< int > lastGreenField
Vector2< int > lastWhite
Vector2< int > lastWhiteField
EdgePoint edgePoints [maxNumberOfEdgePoints]
int numOfEdgePoints
double gradientThreshold
double normDistance
double normProjection
double multipleAverageDistance
Matrix2x2< double > referenceChange

Detailed Description

The EdgeSpecialist finds a line- and border-edges in an image.

Definition at line 20 of file SlamEdgeSpecialist.h.


Member Enumeration Documentation

anonymous enum [private]
 

Enumeration values:
maxNumberOfEdgePoints 

Definition at line 62 of file SlamEdgeSpecialist.h.


Constructor & Destructor Documentation

SlamEdgeSpecialist::SlamEdgeSpecialist  ) 
 

Definition at line 15 of file SlamEdgeSpecialist.cpp.

References pi.


Member Function Documentation

void SlamEdgeSpecialist::reset  ) 
 

reset all data before processing next frame.

Definition at line 42 of file SlamEdgeSpecialist.cpp.

Referenced by SlamImageProcessor::execute().

void SlamEdgeSpecialist::resetLine  ) 
 

reset before next scanline.

Definition at line 47 of file SlamEdgeSpecialist.cpp.

Referenced by SlamImageProcessor::scan().

void SlamEdgeSpecialist::checkPoint Vector2< int >  point,
colorClass  color,
const CameraMatrix cameraMatrix,
const CameraMatrix prevCameraMatrix,
const Image image
 

check point in camera-coordinates with given color on scanline if interesting changes.

Definition at line 54 of file SlamEdgeSpecialist.cpp.

References addCandidate(), Geometry::calculatePointOnField(), Image::cameraInfo, noColor, point, Vector2< int >::x, and Vector2< int >::y.

Referenced by SlamImageProcessor::scan().

Here is the call graph for this function:

void SlamEdgeSpecialist::addCandidate Vector2< int >  point,
const Image image
 

add a point in camera-coordinates which is a candidate for an edge point.

Definition at line 97 of file SlamEdgeSpecialist.cpp.

References Vector2< V >::abs(), SlamEdgeSpecialist::EdgePoint::belongsToLineNo, DOT, idText, Image::image, SlamEdgeSpecialist::EdgePoint::line, Vector2< V >::normalize(), SlamEdgeSpecialist::EdgePoint::offset, OUTPUT, point, SlamEdgeSpecialist::EdgePoint::weight, Vector2< int >::x, and Vector2< int >::y.

Referenced by checkPoint().

Here is the call graph for this function:

void SlamEdgeSpecialist::getEdgesPercept EdgesPercept percept,
const CameraMatrix cameraMatrix,
const CameraMatrix prevCameraMatrix,
const Image image
 

Searches for the edges based on the points and return edge-percepts from those.

Definition at line 142 of file SlamEdgeSpecialist.cpp.

References EdgesPercept::add(), ARROW, Geometry::Line::base, SlamEdgeSpecialist::EdgePoint::belongsToLineNo, Geometry::calculateLineSize(), Geometry::calculatePointOnField(), Image::cameraInfo, Geometry::Line::direction, Geometry::distance(), DOT, LINE, SlamEdgeSpecialist::EdgePoint::line, min, SlamEdgeSpecialist::EdgePoint::offset, SlamEdgeSpecialist::EdgePoint::weight, Vector2< V >::x, Vector2< int >::x, Vector2< double >::x, Vector2< V >::y, Vector2< double >::y, and Vector2< int >::y.

Referenced by SlamImageProcessor::execute().

Here is the call graph for this function:


Member Data Documentation

bool SlamEdgeSpecialist::greenBefore [private]
 

Definition at line 56 of file SlamEdgeSpecialist.h.

bool SlamEdgeSpecialist::whiteBefore [private]
 

Definition at line 57 of file SlamEdgeSpecialist.h.

int SlamEdgeSpecialist::numberOfContinuousNoColor [private]
 

Definition at line 58 of file SlamEdgeSpecialist.h.

Vector2<int> SlamEdgeSpecialist::lastGreen [private]
 

Definition at line 59 of file SlamEdgeSpecialist.h.

Vector2<int> SlamEdgeSpecialist::lastGreenField [private]
 

Definition at line 59 of file SlamEdgeSpecialist.h.

Vector2<int> SlamEdgeSpecialist::lastWhite [private]
 

Definition at line 60 of file SlamEdgeSpecialist.h.

Vector2<int> SlamEdgeSpecialist::lastWhiteField [private]
 

Definition at line 60 of file SlamEdgeSpecialist.h.

EdgePoint SlamEdgeSpecialist::edgePoints[maxNumberOfEdgePoints] [private]
 

Definition at line 70 of file SlamEdgeSpecialist.h.

int SlamEdgeSpecialist::numOfEdgePoints [private]
 

Definition at line 71 of file SlamEdgeSpecialist.h.

double SlamEdgeSpecialist::gradientThreshold [private]
 

Definition at line 72 of file SlamEdgeSpecialist.h.

double SlamEdgeSpecialist::normDistance [private]
 

Definition at line 73 of file SlamEdgeSpecialist.h.

double SlamEdgeSpecialist::normProjection [private]
 

Definition at line 74 of file SlamEdgeSpecialist.h.

double SlamEdgeSpecialist::multipleAverageDistance [private]
 

Definition at line 75 of file SlamEdgeSpecialist.h.

Matrix2x2<double> SlamEdgeSpecialist::referenceChange [private]
 

Definition at line 76 of file SlamEdgeSpecialist.h.


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