Projection that the Edge analysis of Common Vision Blox is using. More...
#include <cvb/foundation/edge.hpp>
Public Member Functions | |
Projection (const ImagePlane &plane, Area2D aoi, ProjectionMode mode=ProjectionMode::Sum, double density=1.0) | |
Create a projection object. More... | |
std::vector< ProjectionValue > | Values () const |
Retrieve the values of the projection. More... | |
void * | Handle () const noexcept |
Classic API PROJECTIONEX handle. More... | |
std::vector< EdgeResult > | CalculateZeroCrossings () |
Get all the zero crossings, that are in the projection. More... | |
std::unique_ptr< Projection > | Derive () |
Create derivative of this projection. More... | |
template<class RANGE > | |
TypedRange< std::unique_ptr< Projection >, int, RANGE >::type | Filter (const RANGE &kernel) |
Filter this projection using a 1D filter kernel. More... | |
std::unique_ptr< Projection > | ToAverageProjection () |
Create a new averaged projection from this one. More... | |
ProjectionMode | Mode () const noexcept |
Gets the mode of the projection. More... | |
Static Public Member Functions | |
static std::unique_ptr< Projection > | Create (const ImagePlane &plane, Area2D aoi, ProjectionMode mode=ProjectionMode::Sum, double density=1.0) |
Create a projection object. More... | |
static std::unique_ptr< Projection > | FromHandle (HandleGuard< Projection > &&guard, ProjectionMode mode) |
Creates projection from a classic API handle. More... | |
Projection that the Edge analysis of Common Vision Blox is using.
The projections are what is being used internally inside the Edge finding algorithms and the Projection object may in fact be used to build a customized edge detection.
|
inline |
Create a projection object.
[in] | plane | Image plane to create the projection from. |
[in] | aoi | Area of interest to scan. |
[in] | mode | Mode to use. |
[in] | density | Density at which to scan. This is a percentage value how many pixels to process: 0.0 means 0% and 1.0 means 100%. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Get all the zero crossings, that are in the projection.
Any | exception derived from std::exception including CvbException. |
|
inlinestatic |
Create a projection object.
[in] | plane | Image plane to create the projection from. |
[in] | aoi | Area of interest to scan. |
[in] | mode | Mode to use. |
[in] | density | Density at which to scan. This is a percentage value how many pixels to process: 0.0 means 0% and 1.0 means 100%. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Create derivative of this projection.
Any | exception derived from std::exception including CvbException. |
|
inline |
Filter this projection using a 1D filter kernel.
[in] | kernel | Filter kernel to use. |
Any | exception derived from std::exception including CvbException. |
|
inlinestatic |
Creates projection from a classic API handle.
[in] | guard | Life time guard for C-API handle. |
[in] | mode | Mode to use. |
Any | exception derived from std::exception including CvbException. |
The projection takes ownership of the handle, so you must share it before using this function.
|
inlinenoexcept |
Classic API PROJECTIONEX handle.
Does | not throw any exception. |
It is normally not necessary to work with this handle.
|
inlinenoexcept |
Gets the mode of the projection.
Does | not throw any exception. |
|
inline |
Create a new averaged projection from this one.
Any | exception derived from std::exception including CvbException. |
|
inline |
Retrieve the values of the projection.
Any | exception derived from std::exception including CvbException. |