Detects straight lines in a BW8 image using Hough transform. More...
#include <eVision/EasyImage/ELineDetector.h>
Public Member Functions | |
| ELineDetector (const eVision::ELineDetector &other) | |
| Copy operator. | |
| ELineDetector () | |
| Constructs an ELineDetector::ELineDetector with all parameters explicitly specified. | |
| ELineDetector (float rho, float theta, int32_t threshold, float minLineLength, float maxLineGap, float angleThresholdDegrees) | |
| Copy operator. | |
| virtual | ~ELineDetector () throw () |
| eVision::ELineDetector & | operator= (const eVision::ELineDetector &other) |
| Copy operator. | |
| float | GetRadialBinSize () const |
| Distance resolution of the accumulator in pixels. Default is 1. | |
| void | SetRadialBinSize (float rho) |
| Distance resolution of the accumulator in pixels. Default is 1. | |
| float | GetAngularBinSize () const |
| Angle resolution of the accumulator in degrees. Default is 1. | |
| void | SetAngularBinSize (float theta) |
| Angle resolution of the accumulator in degrees. Default is 1. | |
| int32_t | GetMinNumVotes () const |
| Minimum number of votes to qualify as a line. Default is 150. | |
| void | SetMinNumVotes (int32_t threshold) |
| Minimum number of votes to qualify as a line. Default is 150. | |
| float | GetMinLineLength () const |
| Minimum length of a detected line segment in pixels. Shorter segments are discarded. Default is 164. | |
| void | SetMinLineLength (float minLineLength) |
| Minimum length of a detected line segment in pixels. Shorter segments are discarded. Default is 164. | |
| float | GetMaxLineGap () const |
| Maximum gap between two collinear segments to still merge them into one line. Default is 64. | |
| void | SetMaxLineGap (float maxLineGap) |
| Maximum gap between two collinear segments to still merge them into one line. Default is 64. | |
| float | GetAngleThreshold () const |
| Maximum angular difference in degrees between two segments to consider them part of the same line. Default is 35°. | |
| void | SetAngleThreshold (float angleThresholdDegrees) |
| Maximum angular difference in degrees between two segments to consider them part of the same line. Default is 35°. | |
| void | Save (const std::string &path) const |
| Saves the detector configuration to a file. | |
| void | Load (const std::string &path) |
| Loads a detector configuration from a file. | |
| void | Save (eVision::ESerializer *serializer) const |
| Saves the detector configuration to a serializer. | |
| void | Load (eVision::ESerializer *serializer) |
| Loads a detector configuration from a serializer. | |
| std::vector< eVision::ELine > | Detect (const eVision::EROIBW8 &image) const |
| Detects straight lines in the given BW8 image. | |
| std::vector< eVision::ELine > | Detect (const eVision::EROIBW8 &image, const eVision::ERegion ®ion, const eVision::EFrame &frame) const |
| Detects lines in the area of the image covered by region (transformed to sensor coordinates via frame), then maps results back to local frame coordinates. | |
| std::vector< eVision::ELine > | Detect (const eVision::EROIBW8 &image, const eVision::ERegion ®ion) const |
| Detects lines in the area of the image covered by region. | |
| std::vector< eVision::ELine > | Detect (const eVision::EROIBW8 &image, const eVision::EFrame &frame) const |
| Detects lines in the image and maps results to local frame coordinates via frame. | |
| std::vector< eVision::ELine > | Detect (const eVision::ERegion ®ion, const eVision::EFrame &frame) const |
| Transforms region to sensor coordinates via frame, converts it to a binary image, detects lines, then maps results back to local frame coordinates. | |
| std::vector< eVision::ELine > | Detect (const eVision::ERegion ®ion) const |
| Converts region to a binary image and detects lines in it. | |
| void | StopProcess () const |
| Thread-safe. Requests the Detect call running on another thread to stop as soon as possible; it then returns no lines. The request is discarded when the next Detect call starts. | |
| std::vector< eVision::ELine > | GetSegmentsBeforeMerging () const |
| Returns the raw line segments that were merged to build the lines, as returned by the last call to ELineDetector::Detect. | |
| ELineDetector (CppWrapperInternal::InternalConstructor) | |
Public Attributes | |
| CppWrapperInternal::WrappedClass | wrappedClass_ |
Detects straight lines in a BW8 image using Hough transform.
License(s): EasyImage
| eVision::ELineDetector::ELineDetector | ( | const eVision::ELineDetector & | other | ) |
Copy operator.
| other | Another ELineDetector. |
| eVision::ELineDetector::ELineDetector | ( | ) |
Constructs an ELineDetector::ELineDetector with all parameters explicitly specified.
| eVision::ELineDetector::ELineDetector | ( | float | rho, |
| float | theta, | ||
| int32_t | threshold, | ||
| float | minLineLength, | ||
| float | maxLineGap, | ||
| float | angleThresholdDegrees ) |
Copy operator.
|
virtual | ||||||||||||
| eVision::ELineDetector::ELineDetector | ( | CppWrapperInternal::InternalConstructor | ) |
| std::vector< eVision::ELine > eVision::ELineDetector::Detect | ( | const eVision::ERegion & | region | ) | const |
Converts region to a binary image and detects lines in it.
| region | Region to convert and detect lines in. |
| std::vector< eVision::ELine > eVision::ELineDetector::Detect | ( | const eVision::ERegion & | region, |
| const eVision::EFrame & | frame ) const |
Transforms region to sensor coordinates via frame, converts it to a binary image, detects lines, then maps results back to local frame coordinates.
| region | Region in local frame coordinates. |
| frame | Frame used to transform region and results. |
| std::vector< eVision::ELine > eVision::ELineDetector::Detect | ( | const eVision::EROIBW8 & | image | ) | const |
Detects straight lines in the given BW8 image.
| image | Input BW8 image. |
| std::vector< eVision::ELine > eVision::ELineDetector::Detect | ( | const eVision::EROIBW8 & | image, |
| const eVision::EFrame & | frame ) const |
Detects lines in the image and maps results to local frame coordinates via frame.
| image | Input BW8 image. |
| frame | Frame used to transform results to local coordinates. |
| std::vector< eVision::ELine > eVision::ELineDetector::Detect | ( | const eVision::EROIBW8 & | image, |
| const eVision::ERegion & | region ) const |
Detects lines in the area of the image covered by region.
| image | Input BW8 image. |
| region | Region of interest in image coordinates. |
| std::vector< eVision::ELine > eVision::ELineDetector::Detect | ( | const eVision::EROIBW8 & | image, |
| const eVision::ERegion & | region, | ||
| const eVision::EFrame & | frame ) const |
Detects lines in the area of the image covered by region (transformed to sensor coordinates via frame), then maps results back to local frame coordinates.
| image | Input BW8 image. |
| region | Region of interest in local frame coordinates. |
| frame | Frame used to transform region and results. |
| float eVision::ELineDetector::GetAngleThreshold | ( | ) | const |
Maximum angular difference in degrees between two segments to consider them part of the same line. Default is 35°.
| float eVision::ELineDetector::GetAngularBinSize | ( | ) | const |
Angle resolution of the accumulator in degrees. Default is 1.
| float eVision::ELineDetector::GetMaxLineGap | ( | ) | const |
Maximum gap between two collinear segments to still merge them into one line. Default is 64.
| float eVision::ELineDetector::GetMinLineLength | ( | ) | const |
Minimum length of a detected line segment in pixels. Shorter segments are discarded. Default is 164.
| int32_t eVision::ELineDetector::GetMinNumVotes | ( | ) | const |
Minimum number of votes to qualify as a line. Default is 150.
| float eVision::ELineDetector::GetRadialBinSize | ( | ) | const |
Distance resolution of the accumulator in pixels. Default is 1.
| std::vector< eVision::ELine > eVision::ELineDetector::GetSegmentsBeforeMerging | ( | ) | const |
Returns the raw line segments that were merged to build the lines, as returned by the last call to ELineDetector::Detect.
| void eVision::ELineDetector::Load | ( | const std::string & | path | ) |
Loads a detector configuration from a file.
| path | Path to the input file. |
| void eVision::ELineDetector::Load | ( | eVision::ESerializer * | serializer | ) |
Loads a detector configuration from a serializer.
| serializer | Source serializer in read mode. |
| eVision::ELineDetector & eVision::ELineDetector::operator= | ( | const eVision::ELineDetector & | other | ) |
Copy operator.
| other | Another ELineDetector. |
| void eVision::ELineDetector::Save | ( | const std::string & | path | ) | const |
Saves the detector configuration to a file.
| path | Path to the output file. |
| void eVision::ELineDetector::Save | ( | eVision::ESerializer * | serializer | ) | const |
Saves the detector configuration to a serializer.
| serializer | Target serializer in write mode. |
| void eVision::ELineDetector::SetAngleThreshold | ( | float | angleThresholdDegrees | ) |
Maximum angular difference in degrees between two segments to consider them part of the same line. Default is 35°.
| angleThresholdDegrees | Angle threshold in degrees. |
| void eVision::ELineDetector::SetAngularBinSize | ( | float | theta | ) |
Angle resolution of the accumulator in degrees. Default is 1.
| theta | Angle resolution in degrees. Must be in the range (0, 180). |
| void eVision::ELineDetector::SetMaxLineGap | ( | float | maxLineGap | ) |
Maximum gap between two collinear segments to still merge them into one line. Default is 64.
| maxLineGap | Maximum gap in pixels. |
| void eVision::ELineDetector::SetMinLineLength | ( | float | minLineLength | ) |
Minimum length of a detected line segment in pixels. Shorter segments are discarded. Default is 164.
| minLineLength | Minimum length in pixels. |
| void eVision::ELineDetector::SetMinNumVotes | ( | int32_t | threshold | ) |
Minimum number of votes to qualify as a line. Default is 150.
| threshold | Vote threshold. |
| void eVision::ELineDetector::SetRadialBinSize | ( | float | rho | ) |
Distance resolution of the accumulator in pixels. Default is 1.
| rho | Distance resolution in pixels. |
| void eVision::ELineDetector::StopProcess | ( | ) | const |
Thread-safe. Requests the Detect call running on another thread to stop as soon as possible; it then returns no lines. The request is discarded when the next Detect call starts.
| CppWrapperInternal::WrappedClass eVision::ELineDetector::wrappedClass_ |