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:

[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:

- Modules/ImageProcessor/SlamImageProcessor/SlamEdgeSpecialist.h
- Modules/ImageProcessor/SlamImageProcessor/SlamEdgeSpecialist.cpp