Collection of functions for edge detection. More...
Classes | |
class | EdgeResult |
Edge search result More... | |
class | EdgeResultPair |
A pair of found edges. More... | |
class | Projection |
Projection that the Edge analysis of Common Vision Blox is using. More... | |
class | ProjectionValue |
Single projection value. More... | |
Typedefs | |
typedef std::shared_ptr< Projection > | ProjectionPtr |
Convenience shared pointer for Projection. | |
Enumerations | |
enum class | EdgeSearchMode { Intensity , IntensitySubPixel , Contrast , ContrastSubPixel , SecondDerivativeSubPixel } |
Determines the algorithm for finding an edge. More... | |
enum class | EdgeType { Ignore = CExports::POLARITY_DONT_CARE , Positive = CExports::POLARITY_POSITIVE , Negative = CExports::POLARITY_NEGATIVE } |
Type of the edges to be searched. More... | |
enum class | ProjectionMode { Average , Sum } |
Options affecting the result of the projection. More... | |
Functions | |
bool | operator!= (const EdgeResult &lhs, const EdgeResult &rhs) noexcept |
Comparison operator for EdgeResult objects. More... | |
bool | operator== (const EdgeResult &lhs, const EdgeResult &rhs) noexcept |
Comparison operator for EdgeResult objects. More... | |
EdgeResult | FindFirstEdge (const ImagePlane &plane, EdgeSearchMode mode, EdgeType type, double threshold, Area2D aoi, double density=1.0) |
Find the first edge (as specified) in the aoi. More... | |
EdgeResult | FindFirstEdge (const ImagePlane &plane, EdgeSearchMode mode, EdgeType type, double threshold, double density=1.0) |
Find the first edge (as specified) in the whole plane. More... | |
EdgeResultPair | FindEdgePair (const ImagePlane &plane, EdgeSearchMode mode, EdgeType type1, double threshold1, EdgeType type2, double threshold2, Area2D aoi, double density=1.0) |
Find an edge pair (as specified) in the aoi. More... | |
EdgeResultPair | FindEdgePair (const ImagePlane &plane, EdgeSearchMode mode, EdgeType type1, double threshold1, EdgeType type2, double threshold2, double density=1.0) |
Find an edge pair (as specified) in the whole plane. More... | |
EdgeResultPair | FindEdgePair (const ImagePlane &plane, EdgeSearchMode mode, EdgeType type1, EdgeType type2, double threshold, Area2D aoi, double density=1.0) |
Find an edge pair (as specified) in the aoi. More... | |
EdgeResultPair | FindEdgePair (const ImagePlane &plane, EdgeSearchMode mode, EdgeType type1, EdgeType type2, double threshold, double density=1.0) |
Find an edge pair (as specified) in the whole plane. More... | |
std::vector< EdgeResult > | FindAllEdges (const ImagePlane &plane, EdgeSearchMode mode, EdgeType type, double threshold, Area2D aoi, double density=1.0) |
Find all edges inside the aoi. More... | |
std::vector< EdgeResult > | FindAllEdges (const ImagePlane &plane, EdgeSearchMode mode, EdgeType type, double threshold, double density=1.0) |
Find all edges inside the whole plane. More... | |
EdgeResult | FindBestEdge (const ImagePlane &plane, EdgeType type, Area2D aoi, double density=1.0) |
Use the 2nd derivative method to find the edge with the highest intensity in the area of interest. More... | |
EdgeResult | FindBestEdge (const ImagePlane &plane, EdgeType type, double density=1.0) |
Use the 2nd derivative method to find the edge with the highest intensity in the whole plane. More... | |
void | WriteProjection (const ImagePlane &plane, Area2D aoi, double density=1.0) |
Write the projection that Edge is using internally as the basis for its calculations into an image plane (might be useful for debugging). More... | |
Collection of functions for edge detection.
|
strong |
Determines the algorithm for finding an edge.
|
strong |
Type of the edges to be searched.
Enumerator | |
---|---|
Ignore | Used for EdgeResult::Nothing and with the 2nd derivative edge detection functions. |
Positive | Intensities increase along the scan direction. |
Negative | Intensities decrease along the scan direction. |
|
strong |
Options affecting the result of the projection.
Enumerator | |
---|---|
Average | Projection value is the average value per projection line. |
Sum | Projection value is the sum of all gray values per projection line. |
|
inline |
Find all edges inside the aoi.
[in] | plane | Plane in which to search. |
[in] | mode | Search mode to use. |
[in] | type | Type of edge to be searched for. |
[in] | threshold | Threshold to apply. |
[in] | aoi | Area to scan. |
[in] | density | Search density to use where 1.0 means scanning all pixels. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Find all edges inside the whole plane.
[in] | plane | Plane in which to search. |
[in] | mode | Search mode to use. |
[in] | type | Type of edge to be searched for. |
[in] | threshold | Threshold to apply. |
[in] | density | Search density to use where 1.0 means scanning all pixels. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Use the 2nd derivative method to find the edge with the highest intensity in the area of interest.
[in] | plane | Plane to scan. |
[in] | type | Type of edge to be searched for. |
[in] | aoi | Area to scan. |
[in] | density | Density at which to scan the aoi where 1.0 means scanning all pixels. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Use the 2nd derivative method to find the edge with the highest intensity in the whole plane.
[in] | plane | Plane to scan. |
[in] | type | Type of edge to be searched for. |
[in] | density | Density at which to scan the plane where 1.0 means scanning all pixels. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Find an edge pair (as specified) in the aoi.
[in] | plane | Plane to search in. |
[in] | mode | Search mode. |
[in] | type1 | Type of edge to be searched for. |
[in] | threshold1 | Threshold to apply when looking for the first edge (left to right in the aoi). |
[in] | type2 | Type of edge to be searched for. |
[in] | threshold2 | Threshold to apply when looking for the second edge (right to left in the aoi). |
[in] | aoi | Area to scan. |
[in] | density | Density at which to scan the aoi where 1.0 means scanning all pixels. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Find an edge pair (as specified) in the whole plane.
[in] | plane | Plane to search in. |
[in] | mode | Search mode. |
[in] | type1 | Type of edge to be searched for. |
[in] | threshold1 | Threshold to apply when looking for the first edge (left to right in the plane). |
[in] | type2 | Type of edge to be searched for. |
[in] | threshold2 | Threshold to apply when looking for the second edge (right to left in the plane). |
[in] | density | Density at which to scan the plane where 1.0 means scanning all pixels. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Find an edge pair (as specified) in the aoi.
[in] | plane | Plane to search in. |
[in] | mode | Search mode. |
[in] | type1 | Type of edge to be searched for. |
[in] | type2 | Type of edge to be searched for. |
[in] | threshold | Threshold to apply when looking for for both edges. |
[in] | aoi | Area to scan. |
[in] | density | Density at which to scan the aoi where 1.0 means scanning all pixels. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Find an edge pair (as specified) in the whole plane.
[in] | plane | Plane to search in. |
[in] | mode | Search mode. |
[in] | type1 | Type of edge to be searched for. |
[in] | type2 | Type of edge to be searched for. |
[in] | threshold | Threshold to apply when looking for for both edges. |
[in] | density | Density at which to scan the aoi where 1.0 means scanning all pixels. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Find the first edge (as specified) in the aoi.
[in] | plane | Plane to search in. |
[in] | mode | Search mode. |
[in] | type | Type of edge to be searched for. |
[in] | threshold | Edge threshold to apply. |
[in] | aoi | Area to scan. |
[in] | density | Density at which to scan the aoi where 1.0 means scanning all pixels. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Find the first edge (as specified) in the whole plane.
[in] | plane | Plane to search in. |
[in] | mode | Search mode. |
[in] | type | Type of edge to be searched for. |
[in] | threshold | Edge threshold to apply. |
[in] | density | Density at which to scan the plane where 1.0 means scanning all pixels. |
Any | exception derived from std::exception including CvbException. |
|
inlinenoexcept |
Comparison operator for EdgeResult objects.
[in] | lhs | Left hand side operand. |
[in] | rhs | Right hand side operand. |
Does | not throw any exception. |
|
inlinenoexcept |
Comparison operator for EdgeResult objects.
[in] | lhs | Left hand side operand. |
[in] | rhs | Right hand side operand. |
Does | not throw any exception. |
|
inline |
Write the projection that Edge is using internally as the basis for its calculations into an image plane (might be useful for debugging).
[in] | plane | Plane to write the projection to. |
[in] | aoi | Area of interest to project. |
[in] | density | Density at which to scan where 1.0 means scanning all pixels. |
Any | exception derived from std::exception including CvbException. |