Functions | |
cvbbool_t | AppendResults (EDGERESULTS In1, EDGERESULTS In2, EDGERESULTS &Out) |
Appends the results of two EDGERESULTS objects to the new object Out. More... | |
cvbbool_t | EdgeResult (EDGERESULTS Results, size_t index, double &x, double &y, double &q) |
Gets an edge result from the given Result object handle. More... | |
size_t | EdgeResultsCount (EDGERESULTS Results) |
Returns the number of edge results stored in the EDGERESULTS object. More... | |
cvbbool_t | IsEdgeResults (EDGERESULTS Results) |
Checks whether the given object handle points to an EDGERESULTS object or not. More... | |
cvbbool_t | ReleaseEdgeResults (EDGERESULTS Results) |
Decreases the reference count of an EDGERESULTS object. More... | |
cvbbool_t | ShareEdgeResults (EDGERESULTS Results) |
Increments the reference counter for an EDGERESULTS object. More... | |
cvbbool_t | SortResultsByAbsQuality (EDGERESULTS In) |
Sorts the In results by their absolute quality value in descent order. More... | |
cvbbool_t | SortResultsByPosition (EDGERESULTS In, double px, double py) |
Sorts the In results by a direction vector px, py. More... | |
cvbbool_t | SortResultsByQuality (EDGERESULTS In) |
Sorts the In results by their quality value in descending order. More... | |
cvbbool_t | ThresholdResults (EDGERESULTS In, double Min, double Max, EDGERESULTS &Out) |
Creates a new EDGERESULTS object by thresholding the quality of the edge results in an input EDGERESULTS object. More... | |
cvbbool_t AppendResults | ( | EDGERESULTS | In1, |
EDGERESULTS | In2, | ||
EDGERESULTS & | Out | ||
) |
Appends the results of two EDGERESULTS objects to the new object Out.
Use this function if you want to concatenate the results of two different processing results into a single edge result.
This function is thread safe.
[in] | In1 | Handle of first EDGERESULTS object to be concatenated. |
[in] | In2 | Handle of second EDGERESULTS object to be concatenated. |
[out] | Out | New EDGERESULTS object containing the union of results from In1 and In2. |
TRUE
if succeeded, FALSE
otherwise.cvbbool_t EdgeResult | ( | EDGERESULTS | Results, |
size_t | index, | ||
double & | x, | ||
double & | y, | ||
double & | q | ||
) |
Gets an edge result from the given Result object handle.
Index access is zero based (range from 0 to EdgeResultsCount - 1).
This function is thread safe.
[in] | Results | Handle of EDGERESULTS object. |
[in] | index | Zero based index. |
[out] | x | X-position of the edge. |
[out] | y | Y-position of the edge. |
[out] | q | Quality of the edge. |
TRUE
if succeeded, FALSE
otherwise.size_t EdgeResultsCount | ( | EDGERESULTS | Results | ) |
Returns the number of edge results stored in the EDGERESULTS object.
Use EdgeResult to get the actual results.
This function is thread safe.
[in] | Results | Handle of EDGERESULTS object. |
cvbbool_t IsEdgeResults | ( | EDGERESULTS | Results | ) |
Checks whether the given object handle points to an EDGERESULTS object or not.
[in] | Results | Handle of object to be checked. |
TRUE
if object is an EDGERESULTS handle, FALSE
otherwise.cvbbool_t ReleaseEdgeResults | ( | EDGERESULTS | Results | ) |
Decreases the reference count of an EDGERESULTS object.
When the counter reaches zero the object will be destroyed and the memory is released.
The return value is different to the ReleaseObject
function: it always states TRUE
if the function call succeeded. It does necessary mean that the object is destroyed.
This function is thread safe.
[in] | Results | Handle of EDGERESULTS object to release. |
TRUE
if succeeded, FALSE
otherwise.cvbbool_t ShareEdgeResults | ( | EDGERESULTS | Results | ) |
Increments the reference counter for an EDGERESULTS object.
You share a Results object if want to share ownership. Call ReleaseEdgeResults if your component doesn't need the resource anymore.
This function is thread safe.
[in] | Results | Handle of EDGERESULTS object to share. |
TRUE
if succeeded, FALSE
otherwise.cvbbool_t SortResultsByAbsQuality | ( | EDGERESULTS | In | ) |
Sorts the In results by their absolute quality value in descent order.
As the sorting is done with the absolute value of the quality, positive and negative edges are not separated as in the SortResultsByQuality function.
This function is only thread safe if only one thread works on the In object.
[in] | In | Handle of EDGERESULTS object to sort. |
TRUE
if succeeded, FALSE
otherwise.cvbbool_t SortResultsByPosition | ( | EDGERESULTS | In, |
double | px, | ||
double | py | ||
) |
Sorts the In results by a direction vector px, py.
The vector used to compare the position is passed by its two components
[in] | In | Handle of EDGERESULTS object. |
[in] | px | X-component of the sort vector. |
[in] | py | Y-component of the sort vector. |
TRUE
if succeeded, FALSE
otherwise.cvbbool_t SortResultsByQuality | ( | EDGERESULTS | In | ) |
Sorts the In results by their quality value in descending order.
As negative edges have a negative gradient they also have a negative quality. Positive edges thus have a positive quality. This means that positive edges are followed by negative edges in the sorted range. If you don't want to have that behavior use the SortResultsByAbsQuality function.
This function is only thread safe if only one thread works on the In object.
[in] | In | Handle of EDGERESULTS object to sort. |
TRUE
if succeeded, FALSE
otherwise.cvbbool_t ThresholdResults | ( | EDGERESULTS | In, |
double | Min, | ||
double | Max, | ||
EDGERESULTS & | Out | ||
) |
Creates a new EDGERESULTS object by thresholding the quality of the edge results in an input EDGERESULTS object.
All results within Min >= EdgeQuality and EdgeQuality <= Max are copied to the Out object.
This function is thread safe.
[in] | In | Handle of EDGERESULTS object to threshold. |
[in] | Min | Minimum threshold. |
[in] | Max | Maximum threshold. |
[out] | Out | New EDGERESULTS object containing all thresholded results. |
TRUE
if succeeded, FALSE
otherwise.