Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

HoughLine_Region

Detects straight lines with the specified range of parameters in the source image.

Syntax

IppStatus ippiHoughLine_Region_8u32f_C1R(const Ipp8u* pSrc, int srcStep, IppiSize roiSize, IppPointPolar* pLine, IppPointPolar dstRoi[2], int maxLineCount, int* pLineCount, IppPointPolar delta, int threshold, Ipp8u* pBuffer);

Include Files

ippcv.h

Domain Dependencies

Headers: ippcore.h, ippvm.h, ipps.h, ippi.h

Libraries: ippcore.lib, ippvm.lib, ipps.lib, ippi.lib

Parameters

pSrc

Pointer to the source image ROI.

srcStep

Distance in bytes between starts of consecutive lines in the source image.

roiSize

Size of source image ROI, in pixels.

pLine

Pointer to the destination array of detected lines.

dstRoi

Specifies the range of parameters of straight lines to be detected.

pLineCount

Pointer to the number of detected lines.

delta

Step of discretization (delta.rho - radial increment, delta.theta - angular increment).

threshold

Minimum number of points that are required to detect the line.

maxLineCount

Maximum number of lines in the destination buffer.

pBuffer

Pointer to the working buffer.

Description

This function operates with ROI (see Regions of Interest in Intel IPP).

In the binary source image pSrc, this function performs detection of the straight line defined by the equation given at the beginning of section Hough Transform. Only lines line[n] with the parameters satisfying the following conditions are detected:

dstRoi[0].rholine[n].rhodstRoi[1].rho;

dstRoi[0].thetaline[n].thetadstRoi[1].theta;

where n = 0. pLineCount.

The level of discretization delta is specified as the input parameters. The performance and effectiveness of the function is strongly depends on this parameter. The function requires the external working buffer pBuffer, which size should be computed previously using the function ippiHoughLineGetSize.

CAUTION:

The value of the parameter delta must not be greater than the value of the parameter delta set when the size of the working buffer is computed.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error if one of the specified pointers is NULL.

ippStsSizeErr

Indicates an error condition if roiSize has a field with zero or negative value; or if maxLineCount is less than or equal to 0.

ippStsStepErr

Indicates an error condition if srcStep has an illegal value.

ippStsBadArgErr

Indicates an error condition if threshold is less than or equal to 0; or delta.rho is less than 0, or greater than sum of the width and height of the ROI; or delta.theta is less than 0, or greater than p; or some filed of dstRoi[0] is greater than the corresponding filed of dstRoi[1].

ippStsDstSizeLessExpected

Indicates a warning if number of the detected lines is greater than the size of the destination buffer maxLineCount.