Normalize line endings and whitespace
This commit is contained in:

committed by
Andrey Kamaev

parent
0442bca235
commit
81f826db2b
@@ -1,398 +1,398 @@
|
||||
/*****************************************************************************/
|
||||
/* Latent SVM prediction API */
|
||||
/*****************************************************************************/
|
||||
|
||||
#ifndef _LATENTSVM_H_
|
||||
#define _LATENTSVM_H_
|
||||
|
||||
#include <stdio.h>
|
||||
#include "_lsvm_types.h"
|
||||
#include "_lsvm_error.h"
|
||||
#include "_lsvm_routine.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Building feature pyramid
|
||||
// (pyramid constructed both contrast and non-contrast image)
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
/*
|
||||
// Getting feature pyramid
|
||||
//
|
||||
// API
|
||||
// int getFeaturePyramid(IplImage * image, const filterObject **all_F,
|
||||
const int n_f,
|
||||
const int lambda, const int k,
|
||||
const int startX, const int startY,
|
||||
const int W, const int H, featurePyramid **maps);
|
||||
// INPUT
|
||||
// image - image
|
||||
// lambda - resize scale
|
||||
// k - size of cells
|
||||
// startX - X coordinate of the image rectangle to search
|
||||
// startY - Y coordinate of the image rectangle to search
|
||||
// W - width of the image rectangle to search
|
||||
// H - height of the image rectangle to search
|
||||
// OUTPUT
|
||||
// maps - feature maps for all levels
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int getFeaturePyramid(IplImage * image, CvLSVMFeaturePyramid **maps);
|
||||
|
||||
/*
|
||||
// Getting feature map for the selected subimage
|
||||
//
|
||||
// API
|
||||
// int getFeatureMaps(const IplImage * image, const int k, featureMap **map);
|
||||
// INPUT
|
||||
// image - selected subimage
|
||||
// k - size of cells
|
||||
// OUTPUT
|
||||
// map - feature map
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int getFeatureMaps(const IplImage * image, const int k, CvLSVMFeatureMap **map);
|
||||
|
||||
|
||||
/*
|
||||
// Feature map Normalization and Truncation
|
||||
//
|
||||
// API
|
||||
// int normalizationAndTruncationFeatureMaps(featureMap *map, const float alfa);
|
||||
// INPUT
|
||||
// map - feature map
|
||||
// alfa - truncation threshold
|
||||
// OUTPUT
|
||||
// map - truncated and normalized feature map
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int normalizeAndTruncate(CvLSVMFeatureMap *map, const float alfa);
|
||||
|
||||
/*
|
||||
// Feature map reduction
|
||||
// In each cell we reduce dimension of the feature vector
|
||||
// according to original paper special procedure
|
||||
//
|
||||
// API
|
||||
// int PCAFeatureMaps(featureMap *map)
|
||||
// INPUT
|
||||
// map - feature map
|
||||
// OUTPUT
|
||||
// map - feature map
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int PCAFeatureMaps(CvLSVMFeatureMap *map);
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
// search object
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
/*
|
||||
// Transformation filter displacement from the block space
|
||||
// to the space of pixels at the initial image
|
||||
//
|
||||
// API
|
||||
// int convertPoints(int countLevel, int lambda,
|
||||
int initialImageLevel,
|
||||
CvPoint *points, int *levels,
|
||||
CvPoint **partsDisplacement, int kPoints, int n,
|
||||
int maxXBorder,
|
||||
int maxYBorder);
|
||||
// INPUT
|
||||
// countLevel - the number of levels in the feature pyramid
|
||||
// lambda - method parameter
|
||||
// initialImageLevel - level of feature pyramid that contains feature map
|
||||
for initial image
|
||||
// points - the set of root filter positions (in the block space)
|
||||
// levels - the set of levels
|
||||
// partsDisplacement - displacement of part filters (in the block space)
|
||||
// kPoints - number of root filter positions
|
||||
// n - number of part filters
|
||||
// maxXBorder - the largest root filter size (X-direction)
|
||||
// maxYBorder - the largest root filter size (Y-direction)
|
||||
// OUTPUT
|
||||
// points - the set of root filter positions (in the space of pixels)
|
||||
// partsDisplacement - displacement of part filters (in the space of pixels)
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int convertPoints(int countLevel, int lambda,
|
||||
int initialImageLevel,
|
||||
CvPoint *points, int *levels,
|
||||
CvPoint **partsDisplacement, int kPoints, int n,
|
||||
int maxXBorder,
|
||||
int maxYBorder);
|
||||
|
||||
/*
|
||||
// Elimination boxes that are outside the image boudaries
|
||||
//
|
||||
// API
|
||||
// int clippingBoxes(int width, int height,
|
||||
CvPoint *points, int kPoints);
|
||||
// INPUT
|
||||
// width - image wediht
|
||||
// height - image heigth
|
||||
// points - a set of points (coordinates of top left or
|
||||
bottom right corners)
|
||||
// kPoints - points number
|
||||
// OUTPUT
|
||||
// points - updated points (if coordinates less than zero then
|
||||
set zero coordinate, if coordinates more than image
|
||||
size then set coordinates equal image size)
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
int clippingBoxes(int width, int height,
|
||||
CvPoint *points, int kPoints);
|
||||
|
||||
/*
|
||||
// Creation feature pyramid with nullable border
|
||||
//
|
||||
// API
|
||||
// featurePyramid* createFeaturePyramidWithBorder(const IplImage *image,
|
||||
int maxXBorder, int maxYBorder);
|
||||
|
||||
// INPUT
|
||||
// image - initial image
|
||||
// maxXBorder - the largest root filter size (X-direction)
|
||||
// maxYBorder - the largest root filter size (Y-direction)
|
||||
// OUTPUT
|
||||
// RESULT
|
||||
// Feature pyramid with nullable border
|
||||
*/
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
CvLSVMFeaturePyramid* createFeaturePyramidWithBorder(IplImage *image,
|
||||
int maxXBorder, int maxYBorder);
|
||||
|
||||
/*
|
||||
// Computation of the root filter displacement and values of score function
|
||||
//
|
||||
// API
|
||||
// int searchObject(const featurePyramid *H, const filterObject **all_F, int n,
|
||||
float b,
|
||||
int maxXBorder,
|
||||
int maxYBorder,
|
||||
CvPoint **points, int **levels, int *kPoints, float *score,
|
||||
CvPoint ***partsDisplacement);
|
||||
// INPUT
|
||||
// H - feature pyramid
|
||||
// all_F - the set of filters (the first element is root filter,
|
||||
other elements - part filters)
|
||||
// n - the number of part filters
|
||||
// b - linear term of the score function
|
||||
// maxXBorder - the largest root filter size (X-direction)
|
||||
// maxYBorder - the largest root filter size (Y-direction)
|
||||
// OUTPUT
|
||||
// points - positions (x, y) of the upper-left corner
|
||||
of root filter frame
|
||||
// levels - levels that correspond to each position
|
||||
// kPoints - number of positions
|
||||
// score - value of the score function
|
||||
// partsDisplacement - part filters displacement for each position
|
||||
of the root filter
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int searchObject(const CvLSVMFeaturePyramid *H, const CvLSVMFilterObject **all_F, int n,
|
||||
float b,
|
||||
int maxXBorder,
|
||||
int maxYBorder,
|
||||
CvPoint **points, int **levels, int *kPoints, float *score,
|
||||
CvPoint ***partsDisplacement);
|
||||
|
||||
/*
|
||||
// Computation of the root filter displacement and values of score function
|
||||
//
|
||||
// API
|
||||
// int searchObjectThreshold(const featurePyramid *H,
|
||||
const filterObject **all_F, int n,
|
||||
float b,
|
||||
int maxXBorder, int maxYBorder,
|
||||
float scoreThreshold,
|
||||
CvPoint **points, int **levels, int *kPoints,
|
||||
float **score, CvPoint ***partsDisplacement);
|
||||
// INPUT
|
||||
// H - feature pyramid
|
||||
// all_F - the set of filters (the first element is root filter,
|
||||
other elements - part filters)
|
||||
// n - the number of part filters
|
||||
// b - linear term of the score function
|
||||
// maxXBorder - the largest root filter size (X-direction)
|
||||
// maxYBorder - the largest root filter size (Y-direction)
|
||||
// scoreThreshold - score threshold
|
||||
// OUTPUT
|
||||
// points - positions (x, y) of the upper-left corner
|
||||
of root filter frame
|
||||
// levels - levels that correspond to each position
|
||||
// kPoints - number of positions
|
||||
// score - values of the score function
|
||||
// partsDisplacement - part filters displacement for each position
|
||||
of the root filter
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int searchObjectThreshold(const CvLSVMFeaturePyramid *H,
|
||||
const CvLSVMFilterObject **all_F, int n,
|
||||
float b,
|
||||
int maxXBorder, int maxYBorder,
|
||||
float scoreThreshold,
|
||||
CvPoint **points, int **levels, int *kPoints,
|
||||
float **score, CvPoint ***partsDisplacement,
|
||||
int numThreads CV_DEFAULT(-1));
|
||||
|
||||
/*
|
||||
// Computation root filters displacement and values of score function
|
||||
//
|
||||
// API
|
||||
// int searchObjectThresholdSomeComponents(const featurePyramid *H,
|
||||
const filterObject **filters,
|
||||
int kComponents, const int *kPartFilters,
|
||||
const float *b, float scoreThreshold,
|
||||
CvPoint **points, CvPoint **oppPoints,
|
||||
float **score, int *kPoints);
|
||||
// INPUT
|
||||
// H - feature pyramid
|
||||
// filters - filters (root filter then it's part filters, etc.)
|
||||
// kComponents - root filters number
|
||||
// kPartFilters - array of part filters number for each component
|
||||
// b - array of linear terms
|
||||
// scoreThreshold - score threshold
|
||||
// OUTPUT
|
||||
// points - root filters displacement (top left corners)
|
||||
// oppPoints - root filters displacement (bottom right corners)
|
||||
// score - array of score values
|
||||
// kPoints - number of boxes
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
int searchObjectThresholdSomeComponents(const CvLSVMFeaturePyramid *H,
|
||||
const CvLSVMFilterObject **filters,
|
||||
int kComponents, const int *kPartFilters,
|
||||
const float *b, float scoreThreshold,
|
||||
CvPoint **points, CvPoint **oppPoints,
|
||||
float **score, int *kPoints, int numThreads);
|
||||
|
||||
/*
|
||||
// Compute opposite point for filter box
|
||||
//
|
||||
// API
|
||||
// int getOppositePoint(CvPoint point,
|
||||
int sizeX, int sizeY,
|
||||
float step, int degree,
|
||||
CvPoint *oppositePoint);
|
||||
|
||||
// INPUT
|
||||
// point - coordinates of filter top left corner
|
||||
(in the space of pixels)
|
||||
// (sizeX, sizeY) - filter dimension in the block space
|
||||
// step - scaling factor
|
||||
// degree - degree of the scaling factor
|
||||
// OUTPUT
|
||||
// oppositePoint - coordinates of filter bottom corner
|
||||
(in the space of pixels)
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int getOppositePoint(CvPoint point,
|
||||
int sizeX, int sizeY,
|
||||
float step, int degree,
|
||||
CvPoint *oppositePoint);
|
||||
|
||||
/*
|
||||
// Drawing root filter boxes
|
||||
//
|
||||
// API
|
||||
// int showRootFilterBoxes(const IplImage *image,
|
||||
const filterObject *filter,
|
||||
CvPoint *points, int *levels, int kPoints,
|
||||
CvScalar color, int thickness,
|
||||
int line_type, int shift);
|
||||
// INPUT
|
||||
// image - initial image
|
||||
// filter - root filter object
|
||||
// points - a set of points
|
||||
// levels - levels of feature pyramid
|
||||
// kPoints - number of points
|
||||
// color - line color for each box
|
||||
// thickness - line thickness
|
||||
// line_type - line type
|
||||
// shift - shift
|
||||
// OUTPUT
|
||||
// window contained initial image and filter boxes
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int showRootFilterBoxes(IplImage *image,
|
||||
const CvLSVMFilterObject *filter,
|
||||
CvPoint *points, int *levels, int kPoints,
|
||||
CvScalar color, int thickness,
|
||||
int line_type, int shift);
|
||||
|
||||
/*
|
||||
// Drawing part filter boxes
|
||||
//
|
||||
// API
|
||||
// int showPartFilterBoxes(const IplImage *image,
|
||||
const filterObject *filter,
|
||||
CvPoint *points, int *levels, int kPoints,
|
||||
CvScalar color, int thickness,
|
||||
int line_type, int shift);
|
||||
// INPUT
|
||||
// image - initial image
|
||||
// filters - a set of part filters
|
||||
// n - number of part filters
|
||||
// partsDisplacement - a set of points
|
||||
// levels - levels of feature pyramid
|
||||
// kPoints - number of foot filter positions
|
||||
// color - line color for each box
|
||||
// thickness - line thickness
|
||||
// line_type - line type
|
||||
// shift - shift
|
||||
// OUTPUT
|
||||
// window contained initial image and filter boxes
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int showPartFilterBoxes(IplImage *image,
|
||||
const CvLSVMFilterObject **filters,
|
||||
int n, CvPoint **partsDisplacement,
|
||||
int *levels, int kPoints,
|
||||
CvScalar color, int thickness,
|
||||
int line_type, int shift);
|
||||
|
||||
/*
|
||||
// Drawing boxes
|
||||
//
|
||||
// API
|
||||
// int showBoxes(const IplImage *img,
|
||||
const CvPoint *points, const CvPoint *oppositePoints, int kPoints,
|
||||
CvScalar color, int thickness, int line_type, int shift);
|
||||
// INPUT
|
||||
// img - initial image
|
||||
// points - top left corner coordinates
|
||||
// oppositePoints - right bottom corner coordinates
|
||||
// kPoints - points number
|
||||
// color - line color for each box
|
||||
// thickness - line thickness
|
||||
// line_type - line type
|
||||
// shift - shift
|
||||
// OUTPUT
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int showBoxes(IplImage *img,
|
||||
const CvPoint *points, const CvPoint *oppositePoints, int kPoints,
|
||||
CvScalar color, int thickness, int line_type, int shift);
|
||||
|
||||
#endif
|
||||
/*****************************************************************************/
|
||||
/* Latent SVM prediction API */
|
||||
/*****************************************************************************/
|
||||
|
||||
#ifndef _LATENTSVM_H_
|
||||
#define _LATENTSVM_H_
|
||||
|
||||
#include <stdio.h>
|
||||
#include "_lsvm_types.h"
|
||||
#include "_lsvm_error.h"
|
||||
#include "_lsvm_routine.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Building feature pyramid
|
||||
// (pyramid constructed both contrast and non-contrast image)
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
/*
|
||||
// Getting feature pyramid
|
||||
//
|
||||
// API
|
||||
// int getFeaturePyramid(IplImage * image, const filterObject **all_F,
|
||||
const int n_f,
|
||||
const int lambda, const int k,
|
||||
const int startX, const int startY,
|
||||
const int W, const int H, featurePyramid **maps);
|
||||
// INPUT
|
||||
// image - image
|
||||
// lambda - resize scale
|
||||
// k - size of cells
|
||||
// startX - X coordinate of the image rectangle to search
|
||||
// startY - Y coordinate of the image rectangle to search
|
||||
// W - width of the image rectangle to search
|
||||
// H - height of the image rectangle to search
|
||||
// OUTPUT
|
||||
// maps - feature maps for all levels
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int getFeaturePyramid(IplImage * image, CvLSVMFeaturePyramid **maps);
|
||||
|
||||
/*
|
||||
// Getting feature map for the selected subimage
|
||||
//
|
||||
// API
|
||||
// int getFeatureMaps(const IplImage * image, const int k, featureMap **map);
|
||||
// INPUT
|
||||
// image - selected subimage
|
||||
// k - size of cells
|
||||
// OUTPUT
|
||||
// map - feature map
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int getFeatureMaps(const IplImage * image, const int k, CvLSVMFeatureMap **map);
|
||||
|
||||
|
||||
/*
|
||||
// Feature map Normalization and Truncation
|
||||
//
|
||||
// API
|
||||
// int normalizationAndTruncationFeatureMaps(featureMap *map, const float alfa);
|
||||
// INPUT
|
||||
// map - feature map
|
||||
// alfa - truncation threshold
|
||||
// OUTPUT
|
||||
// map - truncated and normalized feature map
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int normalizeAndTruncate(CvLSVMFeatureMap *map, const float alfa);
|
||||
|
||||
/*
|
||||
// Feature map reduction
|
||||
// In each cell we reduce dimension of the feature vector
|
||||
// according to original paper special procedure
|
||||
//
|
||||
// API
|
||||
// int PCAFeatureMaps(featureMap *map)
|
||||
// INPUT
|
||||
// map - feature map
|
||||
// OUTPUT
|
||||
// map - feature map
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int PCAFeatureMaps(CvLSVMFeatureMap *map);
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
// search object
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
/*
|
||||
// Transformation filter displacement from the block space
|
||||
// to the space of pixels at the initial image
|
||||
//
|
||||
// API
|
||||
// int convertPoints(int countLevel, int lambda,
|
||||
int initialImageLevel,
|
||||
CvPoint *points, int *levels,
|
||||
CvPoint **partsDisplacement, int kPoints, int n,
|
||||
int maxXBorder,
|
||||
int maxYBorder);
|
||||
// INPUT
|
||||
// countLevel - the number of levels in the feature pyramid
|
||||
// lambda - method parameter
|
||||
// initialImageLevel - level of feature pyramid that contains feature map
|
||||
for initial image
|
||||
// points - the set of root filter positions (in the block space)
|
||||
// levels - the set of levels
|
||||
// partsDisplacement - displacement of part filters (in the block space)
|
||||
// kPoints - number of root filter positions
|
||||
// n - number of part filters
|
||||
// maxXBorder - the largest root filter size (X-direction)
|
||||
// maxYBorder - the largest root filter size (Y-direction)
|
||||
// OUTPUT
|
||||
// points - the set of root filter positions (in the space of pixels)
|
||||
// partsDisplacement - displacement of part filters (in the space of pixels)
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int convertPoints(int countLevel, int lambda,
|
||||
int initialImageLevel,
|
||||
CvPoint *points, int *levels,
|
||||
CvPoint **partsDisplacement, int kPoints, int n,
|
||||
int maxXBorder,
|
||||
int maxYBorder);
|
||||
|
||||
/*
|
||||
// Elimination boxes that are outside the image boudaries
|
||||
//
|
||||
// API
|
||||
// int clippingBoxes(int width, int height,
|
||||
CvPoint *points, int kPoints);
|
||||
// INPUT
|
||||
// width - image wediht
|
||||
// height - image heigth
|
||||
// points - a set of points (coordinates of top left or
|
||||
bottom right corners)
|
||||
// kPoints - points number
|
||||
// OUTPUT
|
||||
// points - updated points (if coordinates less than zero then
|
||||
set zero coordinate, if coordinates more than image
|
||||
size then set coordinates equal image size)
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
int clippingBoxes(int width, int height,
|
||||
CvPoint *points, int kPoints);
|
||||
|
||||
/*
|
||||
// Creation feature pyramid with nullable border
|
||||
//
|
||||
// API
|
||||
// featurePyramid* createFeaturePyramidWithBorder(const IplImage *image,
|
||||
int maxXBorder, int maxYBorder);
|
||||
|
||||
// INPUT
|
||||
// image - initial image
|
||||
// maxXBorder - the largest root filter size (X-direction)
|
||||
// maxYBorder - the largest root filter size (Y-direction)
|
||||
// OUTPUT
|
||||
// RESULT
|
||||
// Feature pyramid with nullable border
|
||||
*/
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
CvLSVMFeaturePyramid* createFeaturePyramidWithBorder(IplImage *image,
|
||||
int maxXBorder, int maxYBorder);
|
||||
|
||||
/*
|
||||
// Computation of the root filter displacement and values of score function
|
||||
//
|
||||
// API
|
||||
// int searchObject(const featurePyramid *H, const filterObject **all_F, int n,
|
||||
float b,
|
||||
int maxXBorder,
|
||||
int maxYBorder,
|
||||
CvPoint **points, int **levels, int *kPoints, float *score,
|
||||
CvPoint ***partsDisplacement);
|
||||
// INPUT
|
||||
// H - feature pyramid
|
||||
// all_F - the set of filters (the first element is root filter,
|
||||
other elements - part filters)
|
||||
// n - the number of part filters
|
||||
// b - linear term of the score function
|
||||
// maxXBorder - the largest root filter size (X-direction)
|
||||
// maxYBorder - the largest root filter size (Y-direction)
|
||||
// OUTPUT
|
||||
// points - positions (x, y) of the upper-left corner
|
||||
of root filter frame
|
||||
// levels - levels that correspond to each position
|
||||
// kPoints - number of positions
|
||||
// score - value of the score function
|
||||
// partsDisplacement - part filters displacement for each position
|
||||
of the root filter
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int searchObject(const CvLSVMFeaturePyramid *H, const CvLSVMFilterObject **all_F, int n,
|
||||
float b,
|
||||
int maxXBorder,
|
||||
int maxYBorder,
|
||||
CvPoint **points, int **levels, int *kPoints, float *score,
|
||||
CvPoint ***partsDisplacement);
|
||||
|
||||
/*
|
||||
// Computation of the root filter displacement and values of score function
|
||||
//
|
||||
// API
|
||||
// int searchObjectThreshold(const featurePyramid *H,
|
||||
const filterObject **all_F, int n,
|
||||
float b,
|
||||
int maxXBorder, int maxYBorder,
|
||||
float scoreThreshold,
|
||||
CvPoint **points, int **levels, int *kPoints,
|
||||
float **score, CvPoint ***partsDisplacement);
|
||||
// INPUT
|
||||
// H - feature pyramid
|
||||
// all_F - the set of filters (the first element is root filter,
|
||||
other elements - part filters)
|
||||
// n - the number of part filters
|
||||
// b - linear term of the score function
|
||||
// maxXBorder - the largest root filter size (X-direction)
|
||||
// maxYBorder - the largest root filter size (Y-direction)
|
||||
// scoreThreshold - score threshold
|
||||
// OUTPUT
|
||||
// points - positions (x, y) of the upper-left corner
|
||||
of root filter frame
|
||||
// levels - levels that correspond to each position
|
||||
// kPoints - number of positions
|
||||
// score - values of the score function
|
||||
// partsDisplacement - part filters displacement for each position
|
||||
of the root filter
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int searchObjectThreshold(const CvLSVMFeaturePyramid *H,
|
||||
const CvLSVMFilterObject **all_F, int n,
|
||||
float b,
|
||||
int maxXBorder, int maxYBorder,
|
||||
float scoreThreshold,
|
||||
CvPoint **points, int **levels, int *kPoints,
|
||||
float **score, CvPoint ***partsDisplacement,
|
||||
int numThreads CV_DEFAULT(-1));
|
||||
|
||||
/*
|
||||
// Computation root filters displacement and values of score function
|
||||
//
|
||||
// API
|
||||
// int searchObjectThresholdSomeComponents(const featurePyramid *H,
|
||||
const filterObject **filters,
|
||||
int kComponents, const int *kPartFilters,
|
||||
const float *b, float scoreThreshold,
|
||||
CvPoint **points, CvPoint **oppPoints,
|
||||
float **score, int *kPoints);
|
||||
// INPUT
|
||||
// H - feature pyramid
|
||||
// filters - filters (root filter then it's part filters, etc.)
|
||||
// kComponents - root filters number
|
||||
// kPartFilters - array of part filters number for each component
|
||||
// b - array of linear terms
|
||||
// scoreThreshold - score threshold
|
||||
// OUTPUT
|
||||
// points - root filters displacement (top left corners)
|
||||
// oppPoints - root filters displacement (bottom right corners)
|
||||
// score - array of score values
|
||||
// kPoints - number of boxes
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
int searchObjectThresholdSomeComponents(const CvLSVMFeaturePyramid *H,
|
||||
const CvLSVMFilterObject **filters,
|
||||
int kComponents, const int *kPartFilters,
|
||||
const float *b, float scoreThreshold,
|
||||
CvPoint **points, CvPoint **oppPoints,
|
||||
float **score, int *kPoints, int numThreads);
|
||||
|
||||
/*
|
||||
// Compute opposite point for filter box
|
||||
//
|
||||
// API
|
||||
// int getOppositePoint(CvPoint point,
|
||||
int sizeX, int sizeY,
|
||||
float step, int degree,
|
||||
CvPoint *oppositePoint);
|
||||
|
||||
// INPUT
|
||||
// point - coordinates of filter top left corner
|
||||
(in the space of pixels)
|
||||
// (sizeX, sizeY) - filter dimension in the block space
|
||||
// step - scaling factor
|
||||
// degree - degree of the scaling factor
|
||||
// OUTPUT
|
||||
// oppositePoint - coordinates of filter bottom corner
|
||||
(in the space of pixels)
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int getOppositePoint(CvPoint point,
|
||||
int sizeX, int sizeY,
|
||||
float step, int degree,
|
||||
CvPoint *oppositePoint);
|
||||
|
||||
/*
|
||||
// Drawing root filter boxes
|
||||
//
|
||||
// API
|
||||
// int showRootFilterBoxes(const IplImage *image,
|
||||
const filterObject *filter,
|
||||
CvPoint *points, int *levels, int kPoints,
|
||||
CvScalar color, int thickness,
|
||||
int line_type, int shift);
|
||||
// INPUT
|
||||
// image - initial image
|
||||
// filter - root filter object
|
||||
// points - a set of points
|
||||
// levels - levels of feature pyramid
|
||||
// kPoints - number of points
|
||||
// color - line color for each box
|
||||
// thickness - line thickness
|
||||
// line_type - line type
|
||||
// shift - shift
|
||||
// OUTPUT
|
||||
// window contained initial image and filter boxes
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int showRootFilterBoxes(IplImage *image,
|
||||
const CvLSVMFilterObject *filter,
|
||||
CvPoint *points, int *levels, int kPoints,
|
||||
CvScalar color, int thickness,
|
||||
int line_type, int shift);
|
||||
|
||||
/*
|
||||
// Drawing part filter boxes
|
||||
//
|
||||
// API
|
||||
// int showPartFilterBoxes(const IplImage *image,
|
||||
const filterObject *filter,
|
||||
CvPoint *points, int *levels, int kPoints,
|
||||
CvScalar color, int thickness,
|
||||
int line_type, int shift);
|
||||
// INPUT
|
||||
// image - initial image
|
||||
// filters - a set of part filters
|
||||
// n - number of part filters
|
||||
// partsDisplacement - a set of points
|
||||
// levels - levels of feature pyramid
|
||||
// kPoints - number of foot filter positions
|
||||
// color - line color for each box
|
||||
// thickness - line thickness
|
||||
// line_type - line type
|
||||
// shift - shift
|
||||
// OUTPUT
|
||||
// window contained initial image and filter boxes
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int showPartFilterBoxes(IplImage *image,
|
||||
const CvLSVMFilterObject **filters,
|
||||
int n, CvPoint **partsDisplacement,
|
||||
int *levels, int kPoints,
|
||||
CvScalar color, int thickness,
|
||||
int line_type, int shift);
|
||||
|
||||
/*
|
||||
// Drawing boxes
|
||||
//
|
||||
// API
|
||||
// int showBoxes(const IplImage *img,
|
||||
const CvPoint *points, const CvPoint *oppositePoints, int kPoints,
|
||||
CvScalar color, int thickness, int line_type, int shift);
|
||||
// INPUT
|
||||
// img - initial image
|
||||
// points - top left corner coordinates
|
||||
// oppositePoints - right bottom corner coordinates
|
||||
// kPoints - points number
|
||||
// color - line color for each box
|
||||
// thickness - line thickness
|
||||
// line_type - line type
|
||||
// shift - shift
|
||||
// OUTPUT
|
||||
// RESULT
|
||||
// Error status
|
||||
*/
|
||||
int showBoxes(IplImage *img,
|
||||
const CvPoint *points, const CvPoint *oppositePoints, int kPoints,
|
||||
CvScalar color, int thickness, int line_type, int shift);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user