VPI - Vision Programming Interface

0.2.0 Release

HOG.h File Reference
#include "../Export.h"
#include "../Status.h"
#include "../Types.h"
#include <stdint.h>
+ Include dependency graph for HOG.h:

Go to the source code of this file.

Macros

HOG flags

Defines what features will be returned.

#define VPI_HOG_CONTRAST_SENSITIVE   0x01
 Return contrast sensitive features.
 
#define VPI_HOG_CONTRAST_INSENSITIVE   0x02
 Return contrast insensitive features.
 
#define VPI_HOG_TEXTURE   0x04
 Return texture-related features.
 
#define VPI_HOG_ALL_FEATURES   (VPI_HOG_CONTRAST_SENSITIVE | VPI_HOG_CONTRAST_INSENSITIVE | VPI_HOG_TEXTURE)
 Helper flag to return all features.
 

Functions

VPIStatus vpiCreateExtractHOGFeatures (VPIStream stream, uint32_t width, uint32_t height, uint32_t features, uint32_t cellSize, uint32_t numOrientations, VPIPayload *payload, uint32_t *outNumFeatures)
 Create a payload for the non-batch version of HOG algorithm. More...
 
VPIStatus vpiCreateExtractHOGFeaturesBatch (VPIStream stream, uint32_t maxBatchWidth, uint32_t maxBatchHeight, uint32_t imgWidth, uint32_t imgHeight, uint32_t features, uint32_t cellSize, uint32_t numOrientations, VPIPayload *payload, uint32_t *outNumFeatures)
 Create a payload for the batch version of HOG algorithm. More...
 
VPIStatus vpiSubmitExtractHOGFeatures (VPIPayload payload, VPIImage input, VPIImage *outFeatures, uint32_t numFeatures)
 Submit the HOG algorithm to the stream associated with the payload. More...
 

Detailed Description

Declares functions that implement the Histogram of Oriented Gradients algorithm.

Definition in file HOG.h.

Function Documentation

◆ vpiCreateExtractHOGFeatures()

VPIStatus vpiCreateExtractHOGFeatures ( VPIStream  stream,
uint32_t  width,
uint32_t  height,
uint32_t  features,
uint32_t  cellSize,
uint32_t  numOrientations,
VPIPayload payload,
uint32_t *  outNumFeatures 
)

Create a payload for the non-batch version of HOG algorithm.

Parameters
[in]streamStream that will execute the algorithm.
[in]width,heightDimensions of the input image to be used.
[in]featuresFlags to specify which features will be returned
[in]cellSizeCell size, typically 8 or 16 for 8x8 and 16x16 cells respectively.
[in]numOrientationsNumber of orientations used. This is typically 18.
[out]payloadPointer to a payload handle that will receive the allocated payload.
[out]outNumFeaturesReceives the number of features that will be returned. Pass NULL if not needed.
Returns
VPI_SUCCESS if payload was created successfully, or some other VPIStatus code in case of error.

◆ vpiCreateExtractHOGFeaturesBatch()

VPIStatus vpiCreateExtractHOGFeaturesBatch ( VPIStream  stream,
uint32_t  maxBatchWidth,
uint32_t  maxBatchHeight,
uint32_t  imgWidth,
uint32_t  imgHeight,
uint32_t  features,
uint32_t  cellSize,
uint32_t  numOrientations,
VPIPayload payload,
uint32_t *  outNumFeatures 
)

Create a payload for the batch version of HOG algorithm.

The input images are assumed to be laid out in memory as a 2D matrix of images. All images must have the same dimensions.

Parameters
[in]streamStream that will execute the algorithm.
[in]maxBatchWidth,maxBatchHeightMaximum number of images horizontally and vertically, respectively.
[in]imgWidth,imgHeightDimensions each of the batch images.
[in]featuresFlags to specify which features will be returned
[in]cellSizeCell size, typically 8 or 16 for 8x8 and 16x16 cells respectively.
[in]numOrientationsNumber of orientations used. This is typically 18.
[out]payloadPointer to a payload handle that will receive the allocated payload.
[out]outNumFeaturesReceives the number of features that will be returned. Pass NULL if not needed.
Returns
VPI_SUCCESS if payload was created successfully, or some other VPIStatus code in case of error.

◆ vpiSubmitExtractHOGFeatures()

VPIStatus vpiSubmitExtractHOGFeatures ( VPIPayload  payload,
VPIImage  input,
VPIImage outFeatures,
uint32_t  numFeatures 
)

Submit the HOG algorithm to the stream associated with the payload.

It handles both batch and non-batch payloads.

Parameters
[in]payloadPayload to be submitted.
[in]inputIf using a non batch payload, this is the input image to be processed. Its dimensions must match what was passed to vpiCreateExtractHOGFeatures. If using a batch payload, the image dimensions must be a multiple of (imgWidth,imgHeight), and it must be at most (imgWidth*maxBatchWidth, imgHeight*maxBatchHeight).
[out]outFeaturesPointer to an array of images that will receive the features. The dimensions of each image must be (input.width / cellSize, input.height / cellSize). In case of batch processing, the output features position in the 2D matrix be the same position of the corresponding input image.
[in]numFeaturesNumber of images in the output array.
Returns
VPI_SUCCESS if payload was created successfully, or some other VPIStatus code in case of error.