#include <GT2004EdgeSpecialist.h>
Public Member Functions | |
GT2004EdgeSpecialist () | |
void | reset () |
void | resetLine () |
void | checkPoint (Vector2< int > point, colorClass color, const CameraMatrix &cameraMatrix, const CameraMatrix &prevCameraMatrix, const Image &image) |
void | addCandidate (Vector2< int > point, const Image &image) |
void | getEdgesPercept (EdgesPercept &percept, const CameraMatrix &cameraMatrix, const CameraMatrix &prevCameraMatrix, const Image &image) |
Private Types | |
maxNumberOfEdgePoints = 200 | |
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 |
Classes | |
struct | EdgePoint |
Definition at line 20 of file GT2004EdgeSpecialist.h.
anonymous enum [private] |
GT2004EdgeSpecialist::GT2004EdgeSpecialist | ( | ) |
add a point in camera-coordinates which is a candidate for an edge point.
Definition at line 97 of file GT2004EdgeSpecialist.cpp.
References Vector2< V >::abs(), GT2004EdgeSpecialist::EdgePoint::belongsToLineNo, DOT, edgePoints, gradientThreshold, idText, image, GT2004EdgeSpecialist::EdgePoint::line, maxNumberOfEdgePoints, Vector2< V >::normalize(), numOfEdgePoints, GT2004EdgeSpecialist::EdgePoint::offset, OUTPUT, referenceChange, text, GT2004EdgeSpecialist::EdgePoint::weight, Vector2< V >::x, and Vector2< V >::y.
Referenced by checkPoint().
void GT2004EdgeSpecialist::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 GT2004EdgeSpecialist.cpp.
References addCandidate(), Geometry::calculatePointOnField(), green, greenBefore, image, lastGreen, lastGreenField, lastWhite, noColor, numberOfContinuousNoColor, white, whiteBefore, Vector2< V >::x, and Vector2< V >::y.
Referenced by GT2004ImageProcessor::scan().
void GT2004EdgeSpecialist::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 GT2004EdgeSpecialist.cpp.
References Geometry::Line::base, Geometry::calculateLineSize(), Geometry::Line::direction, edgePoints, image, GT2004EdgeSpecialist::EdgePoint::line, maxNumberOfEdgePoints, min, normDistance, normProjection, numOfEdgePoints, and GT2004EdgeSpecialist::EdgePoint::offset.
Referenced by GT2004ImageProcessor::execute().
void GT2004EdgeSpecialist::reset | ( | ) |
reset all data before processing next frame.
Definition at line 42 of file GT2004EdgeSpecialist.cpp.
References numOfEdgePoints.
Referenced by GT2004ImageProcessor::execute().
void GT2004EdgeSpecialist::resetLine | ( | ) |
reset before next scanline.
Definition at line 47 of file GT2004EdgeSpecialist.cpp.
References greenBefore, numberOfContinuousNoColor, and whiteBefore.
Referenced by GT2004ImageProcessor::scan().
EdgePoint GT2004EdgeSpecialist::edgePoints[maxNumberOfEdgePoints] [private] |
Definition at line 70 of file GT2004EdgeSpecialist.h.
Referenced by addCandidate(), and getEdgesPercept().
double GT2004EdgeSpecialist::gradientThreshold [private] |
bool GT2004EdgeSpecialist::greenBefore [private] |
Vector2<int> GT2004EdgeSpecialist::lastGreen [private] |
Vector2<int> GT2004EdgeSpecialist::lastGreenField [private] |
Vector2<int> GT2004EdgeSpecialist::lastWhite [private] |
Vector2<int> GT2004EdgeSpecialist::lastWhiteField [private] |
Definition at line 60 of file GT2004EdgeSpecialist.h.
double GT2004EdgeSpecialist::multipleAverageDistance [private] |
Definition at line 75 of file GT2004EdgeSpecialist.h.
double GT2004EdgeSpecialist::normDistance [private] |
double GT2004EdgeSpecialist::normProjection [private] |
int GT2004EdgeSpecialist::numberOfContinuousNoColor [private] |
int GT2004EdgeSpecialist::numOfEdgePoints [private] |
Definition at line 71 of file GT2004EdgeSpecialist.h.
Referenced by addCandidate(), getEdgesPercept(), and reset().
Matrix2x2<double> GT2004EdgeSpecialist::referenceChange [private] |
bool GT2004EdgeSpecialist::whiteBefore [private] |