#include <RBridgeSpecialist.h>
Inheritance diagram for RBridgeSpecialist:
Public Types | |
typedef Geometry::Line | Line |
typedef vector< list< RasterSpecialist::LinePair > > | SVector |
Public Member Functions | |
RBridgeSpecialist (RasterImageProcessor &processor, RasterStrategy &strategy) | |
Constructor. | |
virtual | ~RBridgeSpecialist () |
Destructor. | |
void | invokeOnPostScan (int x, int y) |
Invokes the specialist in the second scan stage at position (x,y) (this member should be replaced later). | |
void | executePostProcessing () |
Executes the detection algorithm. | |
void | invokeOnPreScan (int x, int y) |
Invokes the specialist in the first scan stage at position (x,y) (this member should be replaced later). | |
virtual int | getType () |
Returns the type of specialist. | |
virtual void | init () |
Initializes the specialist. | |
Private Member Functions | |
void | createBBox () |
Builds the bounding boxes of the calculated regions. | |
void | countColors (SegmentInfo &si, list< LinePair > &segment) |
Counts the colors of segment si. | |
void | findBridgeMark (SegmentInfo &si) |
Detects a bridgeMark, if the region is one. | |
BitePoint::Position | getPosition (SegmentInfo &mark) |
Calculates the position of a mark, depending on its colors. | |
void | calculateAnglesForPoint (const Vector2< double > &point, const CameraMatrix &cameraMatrix, const CameraInfo &cameraInfo, Vector2< double > &angles) |
bool | calculatePointOnField (const double x, const double y, const CameraMatrix &cameraMatrix, const CameraInfo &cameraInfo, Vector2< int > &pointOnField) |
void | createValidities (SegmentInfo &info) |
Calculates the validities for the several kinds of marks. | |
Private Attributes | |
colorClass | lineColor |
The color of the line behind the bite-marks. | |
RasterStrategy * | strategy |
The strategy. | |
REdgeDetection | edgeScanner |
The edge scanner. | |
std::list< LinePair > | lst_pts |
The runs, which are the input data. | |
Geometry::Line | horizon |
The calculated horizon. | |
Geometry::Line | pHorizon |
A perpendicular to the horizon. | |
Vector2< int > | left_border |
A Temporary variable. | |
std::vector< list< LinePair > > | segments_img |
The regions, the runs are clustered to. | |
std::vector< SegmentInfo > | infos_img |
Additional data to the regions. |
|
Definition at line 77 of file RBridgeSpecialist.h. |
|
Definition at line 78 of file RBridgeSpecialist.h. |
|
Constructor.
Definition at line 25 of file RBridgeSpecialist.cpp. |
|
Destructor.
Definition at line 36 of file RBridgeSpecialist.cpp. |
|
Invokes the specialist in the second scan stage at position (x,y) (this member should be replaced later).
Reimplemented from RasterSpecialist. Definition at line 180 of file RBridgeSpecialist.cpp. |
|
Executes the detection algorithm.
Reimplemented from RasterSpecialist. Definition at line 184 of file RBridgeSpecialist.cpp. References Geometry::Line::base, createBBox(), RasterSpecialist::createSegmentsFromLines2(), Geometry::Line::direction, findBridgeMark(), RasterImageProcessor::getHorizon(), LINE, and Vector2< double >::rotateLeft(). Referenced by RDefaultStrategy::postProcessing(). |
Here is the call graph for this function:
|
Invokes the specialist in the first scan stage at position (x,y) (this member should be replaced later).
Reimplemented from RasterSpecialist. Definition at line 151 of file RBridgeSpecialist.cpp. References RasterSpecialist::getColor(), RasterStrategy::insideBridge, LINE, REdgeDetection::scanEast(), RasterSpecialist::scanEast(), REdgeDetection::scanWest(), and RasterSpecialist::scanWest(). Referenced by RDefaultStrategy::checkBridge(), and RDefaultStrategy::preScan(). |
Here is the call graph for this function:
|
Returns the type of specialist.
Implements RasterSpecialist. Definition at line 39 of file RBridgeSpecialist.cpp. References __RBridgeSpecialist. |
|
Initializes the specialist.
Implements RasterSpecialist. Definition at line 43 of file RBridgeSpecialist.cpp. References REdgeDetection::threshold. Referenced by RDefaultStrategy::init(). |
|
Builds the bounding boxes of the calculated regions.
Definition at line 52 of file RBridgeSpecialist.cpp. References Geometry::Line::base, RBridgeSpecialist::Rectangle::bottomLeft, RBridgeSpecialist::Rectangle::bottomRight, RBridgeSpecialist::Rectangle::center, countColors(), createValidities(), Geometry::Line::direction, RasterSpecialist::getDistanceToLine(), Geometry::getIntersectionOfLines(), RBridgeSpecialist::SegmentInfo::rect, RBridgeSpecialist::SegmentInfo::segment, RBridgeSpecialist::SegmentInfo::size, RBridgeSpecialist::Rectangle::upperLeft, RBridgeSpecialist::Rectangle::upperRight, Vector2< V >::x, and Vector2< V >::y. Referenced by executePostProcessing(). |
Here is the call graph for this function:
|
Counts the colors of segment si. And stores the result in si.
Definition at line 234 of file RBridgeSpecialist.cpp. References max, min, RBridgeSpecialist::SegmentInfo::orange, RBridgeSpecialist::SegmentInfo::skyblue, and RBridgeSpecialist::SegmentInfo::yellow. Referenced by createBBox(). |
|
Here is the call graph for this function:
|
Calculates the position of a mark, depending on its colors.
Definition at line 485 of file RBridgeSpecialist.cpp. References RBridgeSpecialist::Rectangle::bottomLeft, colorClass, REdgeDetection::colorScan(), Geometry::Line::direction, DOT, RasterSpecialist::getColor(), idText, RBridgeSpecialist::SegmentInfo::leftColor, RBridgeSpecialist::SegmentInfo::lmValidityOrange, RBridgeSpecialist::SegmentInfo::lmValidityYellow, noColor, OUTPUT, RBridgeSpecialist::SegmentInfo::rect, RBridgeSpecialist::SegmentInfo::rightColor, REdgeDetection::setDirection(), RBridgeSpecialist::Rectangle::upperLeft, RBridgeSpecialist::Rectangle::upperRight, Vector2< double >::x, Vector2< V >::x, Vector2< double >::y, and Vector2< V >::y. Referenced by findBridgeMark(). |
Here is the call graph for this function:
|
Definition at line 267 of file RBridgeSpecialist.cpp. References point, sqr, Vector2< int >::x, and Vector2< int >::y. Referenced by findBridgeMark(). |
|
Definition at line 295 of file RBridgeSpecialist.cpp. References Vector3< V >::x, Vector3< V >::y, and Vector3< V >::z. |
|
Calculates the validities for the several kinds of marks. The result is stored in info.
Definition at line 330 of file RBridgeSpecialist.cpp. References RBridgeSpecialist::SegmentInfo::lmValidityOrange, RBridgeSpecialist::SegmentInfo::lmValidityYellow, RBridgeSpecialist::SegmentInfo::orange, RBridgeSpecialist::SegmentInfo::skyblue, and RBridgeSpecialist::SegmentInfo::yellow. Referenced by createBBox(). |
|
The color of the line behind the bite-marks.
Definition at line 112 of file RBridgeSpecialist.h. |
|
The strategy.
Definition at line 114 of file RBridgeSpecialist.h. |
|
The edge scanner.
Definition at line 116 of file RBridgeSpecialist.h. |
|
The runs, which are the input data.
Definition at line 118 of file RBridgeSpecialist.h. |
|
The calculated horizon.
Definition at line 120 of file RBridgeSpecialist.h. |
|
A perpendicular to the horizon.
Definition at line 122 of file RBridgeSpecialist.h. |
|
A Temporary variable.
Definition at line 124 of file RBridgeSpecialist.h. |
|
The regions, the runs are clustered to.
Definition at line 126 of file RBridgeSpecialist.h. |
|
Additional data to the regions.
Definition at line 128 of file RBridgeSpecialist.h. |