Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
191f25ae
Commit
191f25ae
authored
Oct 12, 2010
by
Vadim Pisarevsky
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
renamed internal headers to avoid conflicts with system header files
parent
87f6e500
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
253 additions
and
313 deletions
+253
-313
_latentsvm.h
modules/objdetect/src/_latentsvm.h
+3
-4
_lsvm_distancetransform.h
modules/objdetect/src/_lsvm_distancetransform.h
+0
-0
_lsvm_error.h
modules/objdetect/src/_lsvm_error.h
+16
-15
_lsvm_fft.h
modules/objdetect/src/_lsvm_fft.h
+79
-80
_lsvm_matching.h
modules/objdetect/src/_lsvm_matching.h
+0
-0
_lsvm_resizeimg.h
modules/objdetect/src/_lsvm_resizeimg.h
+11
-10
_lsvm_routine.h
modules/objdetect/src/_lsvm_routine.h
+35
-35
_lsvm_types.h
modules/objdetect/src/_lsvm_types.h
+93
-93
_lsvmparser.h
modules/objdetect/src/_lsvmparser.h
+0
-66
distancetransform.cpp
modules/objdetect/src/distancetransform.cpp
+2
-1
featurepyramid.cpp
modules/objdetect/src/featurepyramid.cpp
+2
-1
fft.cpp
modules/objdetect/src/fft.cpp
+2
-1
latentsvm.cpp
modules/objdetect/src/latentsvm.cpp
+2
-1
latentsvmdetector.cpp
modules/objdetect/src/latentsvmdetector.cpp
+1
-1
matching.cpp
modules/objdetect/src/matching.cpp
+2
-1
precomp.hpp
modules/objdetect/src/precomp.hpp
+1
-1
resizeimg.cpp
modules/objdetect/src/resizeimg.cpp
+2
-2
routine.cpp
modules/objdetect/src/routine.cpp
+2
-1
No files found.
modules/objdetect/src/_latentsvm.h
View file @
191f25ae
...
...
@@ -6,10 +6,9 @@
#define SVM_LATENTSVM
#include <stdio.h>
#include "precomp.hpp"
#include "_types.h"
#include "_error.h"
#include "_routine.h"
#include "_lsvm_types.h"
#include "_lsvm_error.h"
#include "_lsvm_routine.h"
//////////////////////////////////////////////////////////////
// Building feature pyramid
...
...
modules/objdetect/src/_distancetransform.h
→
modules/objdetect/src/_
lsvm_
distancetransform.h
View file @
191f25ae
This diff is collapsed.
Click to expand it.
modules/objdetect/src/_error.h
→
modules/objdetect/src/_
lsvm_
error.h
View file @
191f25ae
#ifndef SVM_ERROR
#define SVM_ERROR
#define LATENT_SVM_OK 0
#define DISTANCE_TRANSFORM_OK 1
#define DISTANCE_TRANSFORM_GET_INTERSECTION_ERROR -1
#define DISTANCE_TRANSFORM_ERROR -2
#define DISTANCE_TRANSFORM_EQUAL_POINTS -3
#define LATENT_SVM_GET_FEATURE_PYRAMID_FAILED -4
#define LATENT_SVM_SEARCH_OBJECT_FAILED -5
#define LATENT_SVM_FAILED_SUPERPOSITION -6
#define FILTER_OUT_OF_BOUNDARIES -7
#define FFT_OK 2
#define FFT_ERROR -8
#ifndef SVM_ERROR
#define SVM_ERROR
#define LATENT_SVM_OK 0
#define DISTANCE_TRANSFORM_OK 1
#define DISTANCE_TRANSFORM_GET_INTERSECTION_ERROR -1
#define DISTANCE_TRANSFORM_ERROR -2
#define DISTANCE_TRANSFORM_EQUAL_POINTS -3
#define LATENT_SVM_GET_FEATURE_PYRAMID_FAILED -4
#define LATENT_SVM_SEARCH_OBJECT_FAILED -5
#define LATENT_SVM_FAILED_SUPERPOSITION -6
#define FILTER_OUT_OF_BOUNDARIES -7
#define FFT_OK 2
#define FFT_ERROR -8
#endif
\ No newline at end of file
modules/objdetect/src/_fft.h
→
modules/objdetect/src/_
lsvm_
fft.h
View file @
191f25ae
#ifndef _FFT_H
#define _FFT_H
#include "precomp.hpp"
#include "_types.h"
#include "_error.h"
#include <math.h>
/*
// 1-dimensional FFT
//
// API
// int fft(float *x_in, float *x_out, int n, int shift);
// INPUT
// x_in - input signal
// n - number of elements for searching Fourier image
// shift - shift between input elements
// OUTPUT
// x_out - output signal (contains 2n elements in order
Re(x_in[0]), Im(x_in[0]), Re(x_in[1]), Im(x_in[1]) and etc.)
// RESULT
// Error status
*/
int
fft
(
float
*
x_in
,
float
*
x_out
,
int
n
,
int
shift
);
/*
// Inverse 1-dimensional FFT
//
// API
// int fftInverse(float *x_in, float *x_out, int n, int shift);
// INPUT
// x_in - Fourier image of 1d input signal(contains 2n elements
in order Re(x_in[0]), Im(x_in[0]),
Re(x_in[1]), Im(x_in[1]) and etc.)
// n - number of elements for searching counter FFT image
// shift - shift between input elements
// OUTPUT
// x_in - input signal (contains n elements)
// RESULT
// Error status
*/
int
fftInverse
(
float
*
x_in
,
float
*
x_out
,
int
n
,
int
shift
);
/*
// 2-dimensional FFT
//
// API
// int fft2d(float *x_in, float *x_out, int numRows, int numColls);
// INPUT
// x_in - input signal (matrix, launched by rows)
// numRows - number of rows
// numColls - number of collumns
// OUTPUT
// x_out - output signal (contains (2 * numRows * numColls) elements
in order Re(x_in[0][0]), Im(x_in[0][0]),
Re(x_in[0][1]), Im(x_in[0][1]) and etc.)
// RESULT
// Error status
*/
int
fft2d
(
float
*
x_in
,
float
*
x_out
,
int
numRows
,
int
numColls
);
/*
// Inverse 2-dimensional FFT
//
// API
// int fftInverse2d(float *x_in, float *x_out, int numRows, int numColls);
// INPUT
// x_in - Fourier image of matrix (contains (2 * numRows * numColls)
elements in order Re(x_in[0][0]), Im(x_in[0][0]),
Re(x_in[0][1]), Im(x_in[0][1]) and etc.)
// numRows - number of rows
// numColls - number of collumns
// OUTPUT
// x_out - initial signal (matrix, launched by rows)
// RESULT
// Error status
*/
int
fftInverse2d
(
float
*
x_in
,
float
*
x_out
,
int
numRows
,
int
numColls
);
#ifndef _LSVM_FFT_H
#define _LSVM_FFT_H
#include "_lsvm_types.h"
#include "_lsvm_error.h"
#include <math.h>
/*
// 1-dimensional FFT
//
// API
// int fft(float *x_in, float *x_out, int n, int shift);
// INPUT
// x_in - input signal
// n - number of elements for searching Fourier image
// shift - shift between input elements
// OUTPUT
// x_out - output signal (contains 2n elements in order
Re(x_in[0]), Im(x_in[0]), Re(x_in[1]), Im(x_in[1]) and etc.)
// RESULT
// Error status
*/
int
fft
(
float
*
x_in
,
float
*
x_out
,
int
n
,
int
shift
);
/*
// Inverse 1-dimensional FFT
//
// API
// int fftInverse(float *x_in, float *x_out, int n, int shift);
// INPUT
// x_in - Fourier image of 1d input signal(contains 2n elements
in order Re(x_in[0]), Im(x_in[0]),
Re(x_in[1]), Im(x_in[1]) and etc.)
// n - number of elements for searching counter FFT image
// shift - shift between input elements
// OUTPUT
// x_in - input signal (contains n elements)
// RESULT
// Error status
*/
int
fftInverse
(
float
*
x_in
,
float
*
x_out
,
int
n
,
int
shift
);
/*
// 2-dimensional FFT
//
// API
// int fft2d(float *x_in, float *x_out, int numRows, int numColls);
// INPUT
// x_in - input signal (matrix, launched by rows)
// numRows - number of rows
// numColls - number of collumns
// OUTPUT
// x_out - output signal (contains (2 * numRows * numColls) elements
in order Re(x_in[0][0]), Im(x_in[0][0]),
Re(x_in[0][1]), Im(x_in[0][1]) and etc.)
// RESULT
// Error status
*/
int
fft2d
(
float
*
x_in
,
float
*
x_out
,
int
numRows
,
int
numColls
);
/*
// Inverse 2-dimensional FFT
//
// API
// int fftInverse2d(float *x_in, float *x_out, int numRows, int numColls);
// INPUT
// x_in - Fourier image of matrix (contains (2 * numRows * numColls)
elements in order Re(x_in[0][0]), Im(x_in[0][0]),
Re(x_in[0][1]), Im(x_in[0][1]) and etc.)
// numRows - number of rows
// numColls - number of collumns
// OUTPUT
// x_out - initial signal (matrix, launched by rows)
// RESULT
// Error status
*/
int
fftInverse2d
(
float
*
x_in
,
float
*
x_out
,
int
numRows
,
int
numColls
);
#endif
\ No newline at end of file
modules/objdetect/src/_matching.h
→
modules/objdetect/src/_
lsvm_
matching.h
View file @
191f25ae
This diff is collapsed.
Click to expand it.
modules/objdetect/src/_resizeimg.h
→
modules/objdetect/src/_
lsvm_
resizeimg.h
View file @
191f25ae
#ifndef RESIZEIMG
#define RESIZEIMG
#include "precomp.hpp"
#include "_types.h"
IplImage
*
resize_opencv
(
IplImage
*
img
,
float
scale
);
IplImage
*
resize_article_dp1
(
IplImage
*
img
,
float
scale
,
const
int
k
);
IplImage
*
resize_article_dp
(
IplImage
*
img
,
float
scale
,
const
int
k
);
#ifndef RESIZEIMG
#define RESIZEIMG
#include "precomp.hpp"
#include "_types.h"
IplImage
*
resize_opencv
(
IplImage
*
img
,
float
scale
);
IplImage
*
resize_article_dp1
(
IplImage
*
img
,
float
scale
,
const
int
k
);
IplImage
*
resize_article_dp
(
IplImage
*
img
,
float
scale
,
const
int
k
);
#endif
\ No newline at end of file
modules/objdetect/src/_routine.h
→
modules/objdetect/src/_
lsvm_
routine.h
View file @
191f25ae
#ifndef _ROUTINE_H
#define _ROUTINE_H
#include "precomp.hpp"
#include "_types.h"
#include "_error.h"
//////////////////////////////////////////////////////////////
// Memory management routines
// All paramaters names correspond to previous data structures description
// All "alloc" functions return allocated memory for 1 object
// with all fields including arrays
// Error status is return value
//////////////////////////////////////////////////////////////
int
allocFilterObject
(
filterObject
**
obj
,
const
int
sizeX
,
const
int
sizeY
,
const
int
p
,
const
int
xp
);
int
freeFilterObject
(
filterObject
**
obj
);
int
allocFeatureMapObject
(
featureMap
**
obj
,
const
int
sizeX
,
const
int
sizeY
,
const
int
p
,
const
int
xp
);
int
freeFeatureMapObject
(
featureMap
**
obj
);
#ifdef __cplusplus
extern
"C"
#endif
int
allocFeaturePyramidObject
(
featurePyramid
**
obj
,
const
int
lambda
,
const
int
countLevel
);
#ifdef __cplusplus
extern
"C"
#endif
int
freeFeaturePyramidObject
(
featurePyramid
**
obj
);
int
allocFFTImage
(
fftImage
**
image
,
int
p
,
int
dimX
,
int
dimY
);
int
freeFFTImage
(
fftImage
**
image
);
#ifndef _LSVM_ROUTINE_H
#define _LSVM_ROUTINE_H
#include "_lsvm_types.h"
#include "_lsvm_error.h"
//////////////////////////////////////////////////////////////
// Memory management routines
// All paramaters names correspond to previous data structures description
// All "alloc" functions return allocated memory for 1 object
// with all fields including arrays
// Error status is return value
//////////////////////////////////////////////////////////////
int
allocFilterObject
(
filterObject
**
obj
,
const
int
sizeX
,
const
int
sizeY
,
const
int
p
,
const
int
xp
);
int
freeFilterObject
(
filterObject
**
obj
);
int
allocFeatureMapObject
(
featureMap
**
obj
,
const
int
sizeX
,
const
int
sizeY
,
const
int
p
,
const
int
xp
);
int
freeFeatureMapObject
(
featureMap
**
obj
);
#ifdef __cplusplus
extern
"C"
#endif
int
allocFeaturePyramidObject
(
featurePyramid
**
obj
,
const
int
lambda
,
const
int
countLevel
);
#ifdef __cplusplus
extern
"C"
#endif
int
freeFeaturePyramidObject
(
featurePyramid
**
obj
);
int
allocFFTImage
(
fftImage
**
image
,
int
p
,
int
dimX
,
int
dimY
);
int
freeFFTImage
(
fftImage
**
image
);
#endif
\ No newline at end of file
modules/objdetect/src/_types.h
→
modules/objdetect/src/_
lsvm_
types.h
View file @
191f25ae
#ifndef SVM_TYPE
#define SVM_TYPE
//#include "opencv2/core/core.hpp"
//#include "opencv2/highgui/highgui.hpp"
#include "precomp.hpp"
//#define FFT_CONV
// PI
#define PI 3.1415926535897932384626433832795
//
#define EPS 0.000001
//
#define F_MAX 3.402823466e+38
#define F_MIN -3.402823465e+38
// The number of elements in bin
// The number of sectors in gradient histogram building
#define CNTPARTION 9
// The number of levels in image resize procedure
// We need Lambda levels to resize image twice
#define LAMBDA 10
// Block size. Used in feature pyramid building procedure
#define SIDE_LENGTH 8
//////////////////////////////////////////////////////////////
// main data structures //
//////////////////////////////////////////////////////////////
// DataType: STRUCT featureMap
// FEATURE MAP DESCRIPTION
// Rectangular map (sizeX x sizeY),
// every cell stores feature vector (dimension = p)
// H - matrix of feature vectors
// to set and get feature vectors (i,j)
// used formula Map[(j * sizeX + i) * p + k], where
// k - component of feature vector in cell (i, j)
// END OF FEATURE MAP DESCRIPTION
// xp - auxillary parameter for internal use
// size of row in feature vectors
// (yp = (int) (p / xp); p = xp * yp)
typedef
struct
{
int
sizeX
;
int
sizeY
;
int
p
;
int
xp
;
float
*
Map
;
}
featureMap
;
// DataType: STRUCT featurePyramid
//
// countLevel - number of levels in the feature pyramid
// lambda - resize scale coefficient
// pyramid - array of pointers to feature map at different levels
typedef
struct
{
int
countLevel
;
int
lambda
;
featureMap
**
pyramid
;
}
featurePyramid
;
// DataType: STRUCT filterDisposition
// The structure stores preliminary results in optimization process
// with objective function D
//
// x - array with X coordinates of optimization problems solutions
// y - array with Y coordinates of optimization problems solutions
// score - array with optimal objective values
typedef
struct
{
float
*
score
;
int
*
x
;
int
*
y
;
}
filterDisposition
;
// DataType: STRUCT fftImage
// The structure stores FFT image
//
// p - number of channels
// x - array of FFT images for 2d signals
// n - number of rows
// m - number of collums
typedef
struct
{
unsigned
int
p
;
unsigned
int
dimX
;
unsigned
int
dimY
;
float
**
channels
;
}
fftImage
;
#endif
#ifndef SVM_TYPE
#define SVM_TYPE
//#include "opencv2/core/core.hpp"
//#include "opencv2/highgui/highgui.hpp"
#include "precomp.hpp"
//#define FFT_CONV
// PI
#define PI 3.1415926535897932384626433832795
//
#define EPS 0.000001
//
#define F_MAX 3.402823466e+38
#define F_MIN -3.402823465e+38
// The number of elements in bin
// The number of sectors in gradient histogram building
#define CNTPARTION 9
// The number of levels in image resize procedure
// We need Lambda levels to resize image twice
#define LAMBDA 10
// Block size. Used in feature pyramid building procedure
#define SIDE_LENGTH 8
//////////////////////////////////////////////////////////////
// main data structures //
//////////////////////////////////////////////////////////////
// DataType: STRUCT featureMap
// FEATURE MAP DESCRIPTION
// Rectangular map (sizeX x sizeY),
// every cell stores feature vector (dimension = p)
// H - matrix of feature vectors
// to set and get feature vectors (i,j)
// used formula Map[(j * sizeX + i) * p + k], where
// k - component of feature vector in cell (i, j)
// END OF FEATURE MAP DESCRIPTION
// xp - auxillary parameter for internal use
// size of row in feature vectors
// (yp = (int) (p / xp); p = xp * yp)
typedef
struct
{
int
sizeX
;
int
sizeY
;
int
p
;
int
xp
;
float
*
Map
;
}
featureMap
;
// DataType: STRUCT featurePyramid
//
// countLevel - number of levels in the feature pyramid
// lambda - resize scale coefficient
// pyramid - array of pointers to feature map at different levels
typedef
struct
{
int
countLevel
;
int
lambda
;
featureMap
**
pyramid
;
}
featurePyramid
;
// DataType: STRUCT filterDisposition
// The structure stores preliminary results in optimization process
// with objective function D
//
// x - array with X coordinates of optimization problems solutions
// y - array with Y coordinates of optimization problems solutions
// score - array with optimal objective values
typedef
struct
{
float
*
score
;
int
*
x
;
int
*
y
;
}
filterDisposition
;
// DataType: STRUCT fftImage
// The structure stores FFT image
//
// p - number of channels
// x - array of FFT images for 2d signals
// n - number of rows
// m - number of collums
typedef
struct
{
unsigned
int
p
;
unsigned
int
dimX
;
unsigned
int
dimY
;
float
**
channels
;
}
fftImage
;
#endif
modules/objdetect/src/_lsvmparser.h
deleted
100644 → 0
View file @
87f6e500
#ifndef LSVM_PARSER
#define LSVM_PARSER
#include "precomp.hpp"
#include "_types.h"
#define MODEL 1
#define P 2
#define COMP 3
#define SCORE 4
#define RFILTER 100
#define PFILTERs 101
#define PFILTER 200
#define SIZEX 150
#define SIZEY 151
#define WEIGHTS 152
#define TAGV 300
#define Vx 350
#define Vy 351
#define TAGD 400
#define Dx 451
#define Dy 452
#define Dxx 453
#define Dyy 454
#define BTAG 500
#define STEP_END 1000
#define EMODEL (STEP_END + MODEL)
#define EP (STEP_END + P)
#define ECOMP (STEP_END + COMP)
#define ESCORE (STEP_END + SCORE)
#define ERFILTER (STEP_END + RFILTER)
#define EPFILTERs (STEP_END + PFILTERs)
#define EPFILTER (STEP_END + PFILTER)
#define ESIZEX (STEP_END + SIZEX)
#define ESIZEY (STEP_END + SIZEY)
#define EWEIGHTS (STEP_END + WEIGHTS)
#define ETAGV (STEP_END + TAGV)
#define EVx (STEP_END + Vx)
#define EVy (STEP_END + Vy)
#define ETAGD (STEP_END + TAGD)
#define EDx (STEP_END + Dx)
#define EDy (STEP_END + Dy)
#define EDxx (STEP_END + Dxx)
#define EDyy (STEP_END + Dyy)
#define EBTAG (STEP_END + BTAG)
//extern "C" {
int
LSVMparser
(
const
char
*
filename
,
filterObject
***
model
,
int
*
last
,
int
*
max
,
int
**
comp
,
float
**
b
,
int
*
count
,
float
*
score
);
#ifdef __cplusplus
extern
"C"
#endif
int
loadModel
(
const
char
*
modelPath
,
filterObject
***
filters
,
int
*
kFilters
,
int
*
kComponents
,
int
**
kPartFilters
,
float
**
b
,
float
*
scoreThreshold
);
//};
#endif
\ No newline at end of file
modules/objdetect/src/distancetransform.cpp
View file @
191f25ae
#include "_distancetransform.h"
#include "precomp.hpp"
#include "_lsvm_distancetransform.h"
/*
// Computation the point of intersection functions
...
...
modules/objdetect/src/featurepyramid.cpp
View file @
191f25ae
#include "precomp.hpp"
#include "_latentsvm.h"
#include "_resizeimg.h"
#include "_
lsvm_
resizeimg.h"
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
...
...
modules/objdetect/src/fft.cpp
View file @
191f25ae
#include "_fft.h"
#include "precomp.hpp"
#include "_lsvm_fft.h"
int
getEntireRes
(
int
number
,
int
divisor
,
int
*
entire
,
int
*
res
)
{
...
...
modules/objdetect/src/latentsvm.cpp
View file @
191f25ae
#include "precomp.hpp"
#include "_latentsvm.h"
#include "_matching.h"
#include "_
lsvm_
matching.h"
/*
// Transformation filter displacement from the block space
...
...
modules/objdetect/src/latentsvmdetector.cpp
View file @
191f25ae
#include "precomp.hpp"
#include "_lsvmparser.h"
#include "_matching.h"
#include "_
lsvm_
matching.h"
/*
// load trained detector from a file
...
...
modules/objdetect/src/matching.cpp
View file @
191f25ae
#include "_matching.h"
#include "precomp.hpp"
#include "_lsvm_matching.h"
#include <stdio.h>
#ifndef max
...
...
modules/objdetect/src/precomp.hpp
View file @
191f25ae
...
...
@@ -55,7 +55,7 @@
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/core/core_c.h"
#include "opencv2/highgui/highgui
_c.h
"
#include "opencv2/highgui/highgui
.hpp
"
#include "opencv2/core/internal.hpp"
#endif
modules/objdetect/src/resizeimg.cpp
View file @
191f25ae
#include "_resizeimg.h"
#include "precomp.hpp"
#include "_lsvm_resizeimg.h"
#include <stdio.h>
#include <assert.h>
#include <math.h>
IplImage
*
resize_opencv
(
IplImage
*
img
,
float
scale
){
IplImage
*
imgTmp
;
...
...
modules/objdetect/src/routine.cpp
View file @
191f25ae
#include "_routine.h"
#include "precomp.hpp"
#include "_lsvm_routine.h"
int
allocFilterObject
(
filterObject
**
obj
,
const
int
sizeX
,
const
int
sizeY
,
const
int
p
,
const
int
xp
){
int
i
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment