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
da383e65
Commit
da383e65
authored
Feb 05, 2015
by
Maksim Shabunin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove deprecated methods from cv::Algorithm
parent
fdf31ec1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
233 additions
and
435 deletions
+233
-435
old_ml.hpp
apps/traincascade/old_ml.hpp
+0
-97
Doxyfile.in
doc/Doxyfile.in
+3
-2
levmarq.cpp
modules/calib3d/src/levmarq.cpp
+0
-9
ptsetreg.cpp
modules/calib3d/src/ptsetreg.cpp
+0
-16
stereobm.cpp
modules/calib3d/src/stereobm.cpp
+0
-2
stereosgbm.cpp
modules/calib3d/src/stereosgbm.cpp
+0
-2
core.hpp
modules/core/include/opencv2/core.hpp
+0
-0
operations.hpp
modules/core/include/opencv2/core/operations.hpp
+0
-78
private.hpp
modules/core/include/opencv2/core/private.hpp
+0
-34
algorithm.cpp
modules/core/src/algorithm.cpp
+0
-0
histogram.cpp
modules/cudaimgproc/src/histogram.cpp
+0
-7
perf_optflow.cpp
modules/cudaoptflow/perf/perf_optflow.cpp
+4
-4
test_optflow.cpp
modules/cudaoptflow/test/test_optflow.cpp
+5
-5
clahe.cpp
modules/imgproc/src/clahe.cpp
+0
-7
shape.hpp
modules/shape/include/opencv2/shape.hpp
+0
-5
aff_trans.cpp
modules/shape/src/aff_trans.cpp
+0
-2
haus_dis.cpp
modules/shape/src/haus_dis.cpp
+0
-2
hist_cost.cpp
modules/shape/src/hist_cost.cpp
+0
-8
sc_dis.cpp
modules/shape/src/sc_dis.cpp
+0
-2
tps_trans.cpp
modules/shape/src/tps_trans.cpp
+0
-2
superres.hpp
modules/superres/include/opencv2/superres.hpp
+31
-3
optical_flow.hpp
modules/superres/include/opencv2/superres/optical_flow.hpp
+58
-10
perf_superres.cpp
modules/superres/perf/perf_superres.cpp
+12
-12
btv_l1.cpp
modules/superres/src/btv_l1.cpp
+17
-21
btv_l1_cuda.cpp
modules/superres/src/btv_l1_cuda.cpp
+16
-19
optical_flow.cpp
modules/superres/src/optical_flow.cpp
+0
-0
super_resolution.cpp
modules/superres/src/super_resolution.cpp
+0
-5
test_superres.cpp
modules/superres/test/test_superres.cpp
+4
-4
tracking.hpp
modules/video/include/opencv2/video/tracking.hpp
+41
-12
perf_optflow_dualTVL1.cpp
modules/video/perf/opencl/perf_optflow_dualTVL1.cpp
+5
-6
bgfg_KNN.cpp
modules/video/src/bgfg_KNN.cpp
+0
-2
bgfg_gaussmix2.cpp
modules/video/src/bgfg_gaussmix2.cpp
+0
-2
tvl1flow.cpp
modules/video/src/tvl1flow.cpp
+14
-29
test_optflow_tvl1flow.cpp
modules/video/test/ocl/test_optflow_tvl1flow.cpp
+5
-6
planar_tracking.cpp
...torial_code/features2D/AKAZE_tracking/planar_tracking.cpp
+2
-2
super_resolution.cpp
samples/gpu/super_resolution.cpp
+13
-13
surf_keypoint_matcher.cpp
samples/gpu/surf_keypoint_matcher.cpp
+3
-5
No files found.
apps/traincascade/old_ml.hpp
View file @
da383e65
...
...
@@ -122,7 +122,6 @@ CV_INLINE CvParamLattice cvDefaultParamLattice( void )
#define CV_TYPE_NAME_ML_SVM "opencv-ml-svm"
#define CV_TYPE_NAME_ML_KNN "opencv-ml-knn"
#define CV_TYPE_NAME_ML_NBAYES "opencv-ml-bayesian"
#define CV_TYPE_NAME_ML_EM "opencv-ml-em"
#define CV_TYPE_NAME_ML_BOOSTING "opencv-ml-boost-tree"
#define CV_TYPE_NAME_ML_TREE "opencv-ml-tree"
#define CV_TYPE_NAME_ML_ANN_MLP "opencv-ml-ann-mlp"
...
...
@@ -562,100 +561,6 @@ private:
CvSVM
&
operator
=
(
const
CvSVM
&
);
};
/****************************************************************************************\
* Expectation - Maximization *
\****************************************************************************************/
namespace
cv
{
class
EM
:
public
Algorithm
{
public
:
// Type of covariation matrices
enum
{
COV_MAT_SPHERICAL
=
0
,
COV_MAT_DIAGONAL
=
1
,
COV_MAT_GENERIC
=
2
,
COV_MAT_DEFAULT
=
COV_MAT_DIAGONAL
};
// Default parameters
enum
{
DEFAULT_NCLUSTERS
=
5
,
DEFAULT_MAX_ITERS
=
100
};
// The initial step
enum
{
START_E_STEP
=
1
,
START_M_STEP
=
2
,
START_AUTO_STEP
=
0
};
CV_WRAP
EM
(
int
nclusters
=
EM
::
DEFAULT_NCLUSTERS
,
int
covMatType
=
EM
::
COV_MAT_DIAGONAL
,
const
TermCriteria
&
termCrit
=
TermCriteria
(
TermCriteria
::
COUNT
+
TermCriteria
::
EPS
,
EM
::
DEFAULT_MAX_ITERS
,
FLT_EPSILON
));
virtual
~
EM
();
CV_WRAP
virtual
void
clear
();
CV_WRAP
virtual
bool
train
(
InputArray
samples
,
OutputArray
logLikelihoods
=
noArray
(),
OutputArray
labels
=
noArray
(),
OutputArray
probs
=
noArray
());
CV_WRAP
virtual
bool
trainE
(
InputArray
samples
,
InputArray
means0
,
InputArray
covs0
=
noArray
(),
InputArray
weights0
=
noArray
(),
OutputArray
logLikelihoods
=
noArray
(),
OutputArray
labels
=
noArray
(),
OutputArray
probs
=
noArray
());
CV_WRAP
virtual
bool
trainM
(
InputArray
samples
,
InputArray
probs0
,
OutputArray
logLikelihoods
=
noArray
(),
OutputArray
labels
=
noArray
(),
OutputArray
probs
=
noArray
());
CV_WRAP
Vec2d
predict
(
InputArray
sample
,
OutputArray
probs
=
noArray
())
const
;
CV_WRAP
bool
isTrained
()
const
;
AlgorithmInfo
*
info
()
const
;
virtual
void
read
(
const
FileNode
&
fn
);
protected
:
virtual
void
setTrainData
(
int
startStep
,
const
Mat
&
samples
,
const
Mat
*
probs0
,
const
Mat
*
means0
,
const
std
::
vector
<
Mat
>*
covs0
,
const
Mat
*
weights0
);
bool
doTrain
(
int
startStep
,
OutputArray
logLikelihoods
,
OutputArray
labels
,
OutputArray
probs
);
virtual
void
eStep
();
virtual
void
mStep
();
void
clusterTrainSamples
();
void
decomposeCovs
();
void
computeLogWeightDivDet
();
Vec2d
computeProbabilities
(
const
Mat
&
sample
,
Mat
*
probs
)
const
;
// all inner matrices have type CV_64FC1
CV_PROP_RW
int
nclusters
;
CV_PROP_RW
int
covMatType
;
CV_PROP_RW
int
maxIters
;
CV_PROP_RW
double
epsilon
;
Mat
trainSamples
;
Mat
trainProbs
;
Mat
trainLogLikelihoods
;
Mat
trainLabels
;
CV_PROP
Mat
weights
;
CV_PROP
Mat
means
;
CV_PROP
std
::
vector
<
Mat
>
covs
;
std
::
vector
<
Mat
>
covsEigenValues
;
std
::
vector
<
Mat
>
covsRotateMats
;
std
::
vector
<
Mat
>
invCovsEigenValues
;
Mat
logWeightDivDet
;
};
}
// namespace cv
/****************************************************************************************\
* Decision Tree *
\****************************************************************************************/
\
...
...
@@ -2155,8 +2060,6 @@ typedef CvGBTreesParams GradientBoostingTreeParams;
typedef
CvGBTrees
GradientBoostingTrees
;
template
<>
void
DefaultDeleter
<
CvDTreeSplit
>::
operator
()(
CvDTreeSplit
*
obj
)
const
;
bool
initModule_ml
(
void
);
}
#endif // __cplusplus
...
...
doc/Doxyfile.in
View file @
da383e65
...
...
@@ -100,7 +100,7 @@ RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = *.inl.hpp *.impl.hpp *_detail.hpp */cudev/**/detail/*.hpp
EXCLUDE_SYMBOLS = cv::DataType<*> int
EXCLUDE_SYMBOLS = cv::DataType<*> int
void
EXAMPLE_PATH = @CMAKE_DOXYGEN_EXAMPLE_PATH@
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = YES
...
...
@@ -243,7 +243,8 @@ PREDEFINED = __cplusplus=1 \
CV_NORETURN= \
CV_DEFAULT(x)=" = x" \
CV_NEON=1 \
FLANN_DEPRECATED=
FLANN_DEPRECATED= \
"CV_PURE_PROPERTY(type, name)= /**\@{*/ virtual type get##name() const = 0; virtual void set##name(type _##name) = 0; /**\@}*/"
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
TAGFILES =
...
...
modules/calib3d/src/levmarq.cpp
View file @
da383e65
...
...
@@ -200,8 +200,6 @@ public:
void
setCallback
(
const
Ptr
<
LMSolver
::
Callback
>&
_cb
)
{
cb
=
_cb
;
}
AlgorithmInfo
*
info
()
const
;
Ptr
<
LMSolver
::
Callback
>
cb
;
double
epsx
;
...
...
@@ -211,15 +209,8 @@ public:
};
CV_INIT_ALGORITHM
(
LMSolverImpl
,
"LMSolver"
,
obj
.
info
()
->
addParam
(
obj
,
"epsx"
,
obj
.
epsx
);
obj
.
info
()
->
addParam
(
obj
,
"epsf"
,
obj
.
epsf
);
obj
.
info
()
->
addParam
(
obj
,
"maxIters"
,
obj
.
maxIters
);
obj
.
info
()
->
addParam
(
obj
,
"printInterval"
,
obj
.
printInterval
))
Ptr
<
LMSolver
>
createLMSolver
(
const
Ptr
<
LMSolver
::
Callback
>&
cb
,
int
maxIters
)
{
CV_Assert
(
!
LMSolverImpl_info_auto
.
name
().
empty
()
);
return
makePtr
<
LMSolverImpl
>
(
cb
,
maxIters
);
}
...
...
modules/calib3d/src/ptsetreg.cpp
View file @
da383e65
...
...
@@ -256,8 +256,6 @@ public:
void
setCallback
(
const
Ptr
<
PointSetRegistrator
::
Callback
>&
_cb
)
{
cb
=
_cb
;
}
AlgorithmInfo
*
info
()
const
;
Ptr
<
PointSetRegistrator
::
Callback
>
cb
;
int
modelPoints
;
bool
checkPartialSubsets
;
...
...
@@ -378,25 +376,12 @@ public:
return
result
;
}
AlgorithmInfo
*
info
()
const
;
};
CV_INIT_ALGORITHM
(
RANSACPointSetRegistrator
,
"PointSetRegistrator.RANSAC"
,
obj
.
info
()
->
addParam
(
obj
,
"threshold"
,
obj
.
threshold
);
obj
.
info
()
->
addParam
(
obj
,
"confidence"
,
obj
.
confidence
);
obj
.
info
()
->
addParam
(
obj
,
"maxIters"
,
obj
.
maxIters
))
CV_INIT_ALGORITHM
(
LMeDSPointSetRegistrator
,
"PointSetRegistrator.LMeDS"
,
obj
.
info
()
->
addParam
(
obj
,
"confidence"
,
obj
.
confidence
);
obj
.
info
()
->
addParam
(
obj
,
"maxIters"
,
obj
.
maxIters
))
Ptr
<
PointSetRegistrator
>
createRANSACPointSetRegistrator
(
const
Ptr
<
PointSetRegistrator
::
Callback
>&
_cb
,
int
_modelPoints
,
double
_threshold
,
double
_confidence
,
int
_maxIters
)
{
CV_Assert
(
!
RANSACPointSetRegistrator_info_auto
.
name
().
empty
()
);
return
Ptr
<
PointSetRegistrator
>
(
new
RANSACPointSetRegistrator
(
_cb
,
_modelPoints
,
_threshold
,
_confidence
,
_maxIters
));
}
...
...
@@ -405,7 +390,6 @@ Ptr<PointSetRegistrator> createRANSACPointSetRegistrator(const Ptr<PointSetRegis
Ptr
<
PointSetRegistrator
>
createLMeDSPointSetRegistrator
(
const
Ptr
<
PointSetRegistrator
::
Callback
>&
_cb
,
int
_modelPoints
,
double
_confidence
,
int
_maxIters
)
{
CV_Assert
(
!
LMeDSPointSetRegistrator_info_auto
.
name
().
empty
()
);
return
Ptr
<
PointSetRegistrator
>
(
new
LMeDSPointSetRegistrator
(
_cb
,
_modelPoints
,
_confidence
,
_maxIters
));
}
...
...
modules/calib3d/src/stereobm.cpp
View file @
da383e65
...
...
@@ -1010,8 +1010,6 @@ public:
disp
.
convertTo
(
disp0
,
disp0
.
type
(),
1.
/
(
1
<<
DISPARITY_SHIFT
),
0
);
}
AlgorithmInfo
*
info
()
const
{
return
0
;
}
int
getMinDisparity
()
const
{
return
params
.
minDisparity
;
}
void
setMinDisparity
(
int
minDisparity
)
{
params
.
minDisparity
=
minDisparity
;
}
...
...
modules/calib3d/src/stereosgbm.cpp
View file @
da383e65
...
...
@@ -865,8 +865,6 @@ public:
StereoMatcher
::
DISP_SCALE
*
params
.
speckleRange
,
buffer
);
}
AlgorithmInfo
*
info
()
const
{
return
0
;
}
int
getMinDisparity
()
const
{
return
params
.
minDisparity
;
}
void
setMinDisparity
(
int
minDisparity
)
{
params
.
minDisparity
=
minDisparity
;
}
...
...
modules/core/include/opencv2/core.hpp
View file @
da383e65
This diff is collapsed.
Click to expand it.
modules/core/include/opencv2/core/operations.hpp
View file @
da383e65
...
...
@@ -412,84 +412,6 @@ int print(const Matx<_Tp, m, n>& matx, FILE* stream = stdout)
return
print
(
Formatter
::
get
()
->
format
(
cv
::
Mat
(
matx
)),
stream
);
}
////////////////////////////////////////// Algorithm //////////////////////////////////////////
template
<
typename
_Tp
>
inline
Ptr
<
_Tp
>
Algorithm
::
create
(
const
String
&
name
)
{
return
_create
(
name
).
dynamicCast
<
_Tp
>
();
}
template
<
typename
_Tp
>
inline
void
Algorithm
::
set
(
const
char
*
_name
,
const
Ptr
<
_Tp
>&
value
)
{
Ptr
<
Algorithm
>
algo_ptr
=
value
.
template
dynamicCast
<
cv
::
Algorithm
>
();
if
(
!
algo_ptr
)
{
CV_Error
(
Error
::
StsUnsupportedFormat
,
"unknown/unsupported Ptr type of the second parameter of the method Algorithm::set"
);
}
info
()
->
set
(
this
,
_name
,
ParamType
<
Algorithm
>::
type
,
&
algo_ptr
);
}
template
<
typename
_Tp
>
inline
void
Algorithm
::
set
(
const
String
&
_name
,
const
Ptr
<
_Tp
>&
value
)
{
this
->
set
<
_Tp
>
(
_name
.
c_str
(),
value
);
}
template
<
typename
_Tp
>
inline
void
Algorithm
::
setAlgorithm
(
const
char
*
_name
,
const
Ptr
<
_Tp
>&
value
)
{
Ptr
<
Algorithm
>
algo_ptr
=
value
.
template
ptr
<
cv
::
Algorithm
>
();
if
(
!
algo_ptr
)
{
CV_Error
(
Error
::
StsUnsupportedFormat
,
"unknown/unsupported Ptr type of the second parameter of the method Algorithm::set"
);
}
info
()
->
set
(
this
,
_name
,
ParamType
<
Algorithm
>::
type
,
&
algo_ptr
);
}
template
<
typename
_Tp
>
inline
void
Algorithm
::
setAlgorithm
(
const
String
&
_name
,
const
Ptr
<
_Tp
>&
value
)
{
this
->
set
<
_Tp
>
(
_name
.
c_str
(),
value
);
}
template
<
typename
_Tp
>
inline
typename
ParamType
<
_Tp
>::
member_type
Algorithm
::
get
(
const
String
&
_name
)
const
{
typename
ParamType
<
_Tp
>::
member_type
value
;
info
()
->
get
(
this
,
_name
.
c_str
(),
ParamType
<
_Tp
>::
type
,
&
value
);
return
value
;
}
template
<
typename
_Tp
>
inline
typename
ParamType
<
_Tp
>::
member_type
Algorithm
::
get
(
const
char
*
_name
)
const
{
typename
ParamType
<
_Tp
>::
member_type
value
;
info
()
->
get
(
this
,
_name
,
ParamType
<
_Tp
>::
type
,
&
value
);
return
value
;
}
template
<
typename
_Tp
,
typename
_Base
>
inline
void
AlgorithmInfo
::
addParam
(
Algorithm
&
algo
,
const
char
*
parameter
,
Ptr
<
_Tp
>&
value
,
bool
readOnly
,
Ptr
<
_Tp
>
(
Algorithm
::*
getter
)(),
void
(
Algorithm
::*
setter
)(
const
Ptr
<
_Tp
>&
),
const
String
&
help
)
{
//TODO: static assert: _Tp inherits from _Base
addParam_
(
algo
,
parameter
,
ParamType
<
_Base
>::
type
,
&
value
,
readOnly
,
(
Algorithm
::
Getter
)
getter
,
(
Algorithm
::
Setter
)
setter
,
help
);
}
template
<
typename
_Tp
>
inline
void
AlgorithmInfo
::
addParam
(
Algorithm
&
algo
,
const
char
*
parameter
,
Ptr
<
_Tp
>&
value
,
bool
readOnly
,
Ptr
<
_Tp
>
(
Algorithm
::*
getter
)(),
void
(
Algorithm
::*
setter
)(
const
Ptr
<
_Tp
>&
),
const
String
&
help
)
{
//TODO: static assert: _Tp inherits from Algorithm
addParam_
(
algo
,
parameter
,
ParamType
<
Algorithm
>::
type
,
&
value
,
readOnly
,
(
Algorithm
::
Getter
)
getter
,
(
Algorithm
::
Setter
)
setter
,
help
);
}
//! @endcond
/****************************************************************************************\
...
...
modules/core/include/opencv2/core/private.hpp
View file @
da383e65
...
...
@@ -129,40 +129,6 @@ namespace cv
CV_EXPORTS
const
char
*
currentParallelFramework
();
}
//namespace cv
#define CV_INIT_ALGORITHM(classname, algname, memberinit) \
static inline ::cv::Algorithm* create##classname##_hidden() \
{ \
return new classname; \
} \
\
static inline ::cv::Ptr< ::cv::Algorithm> create##classname##_ptr_hidden() \
{ \
return ::cv::makePtr<classname>(); \
} \
\
static inline ::cv::AlgorithmInfo& classname##_info() \
{ \
static ::cv::AlgorithmInfo classname##_info_var(algname, create##classname##_hidden); \
return classname##_info_var; \
} \
\
static ::cv::AlgorithmInfo& classname##_info_auto = classname##_info(); \
\
::cv::AlgorithmInfo* classname::info() const \
{ \
static volatile bool initialized = false; \
\
if( !initialized ) \
{ \
initialized = true; \
classname obj; \
memberinit; \
} \
return &classname##_info(); \
}
/****************************************************************************************\
* Common declarations *
\****************************************************************************************/
...
...
modules/core/src/algorithm.cpp
View file @
da383e65
This diff is collapsed.
Click to expand it.
modules/cudaimgproc/src/histogram.cpp
View file @
da383e65
...
...
@@ -140,8 +140,6 @@ namespace
public
:
CLAHE_Impl
(
double
clipLimit
=
40.0
,
int
tilesX
=
8
,
int
tilesY
=
8
);
cv
::
AlgorithmInfo
*
info
()
const
;
void
apply
(
cv
::
InputArray
src
,
cv
::
OutputArray
dst
);
void
apply
(
InputArray
src
,
OutputArray
dst
,
Stream
&
stream
);
...
...
@@ -167,11 +165,6 @@ namespace
{
}
CV_INIT_ALGORITHM
(
CLAHE_Impl
,
"CLAHE_CUDA"
,
obj
.
info
()
->
addParam
(
obj
,
"clipLimit"
,
obj
.
clipLimit_
);
obj
.
info
()
->
addParam
(
obj
,
"tilesX"
,
obj
.
tilesX_
);
obj
.
info
()
->
addParam
(
obj
,
"tilesY"
,
obj
.
tilesY_
))
void
CLAHE_Impl
::
apply
(
cv
::
InputArray
_src
,
cv
::
OutputArray
_dst
)
{
apply
(
_src
,
_dst
,
Stream
::
Null
());
...
...
modules/cudaoptflow/perf/perf_optflow.cpp
View file @
da383e65
...
...
@@ -310,10 +310,10 @@ PERF_TEST_P(ImagePair, OpticalFlowDual_TVL1,
{
cv
::
Mat
flow
;
cv
::
Ptr
<
cv
::
D
ense
OpticalFlow
>
alg
=
cv
::
createOptFlow_DualTVL1
();
alg
->
set
(
"medianFiltering"
,
1
);
alg
->
set
(
"innerIterations"
,
1
);
alg
->
set
(
"outerIterations"
,
300
);
cv
::
Ptr
<
cv
::
D
ualTVL1
OpticalFlow
>
alg
=
cv
::
createOptFlow_DualTVL1
();
alg
->
set
MedianFiltering
(
1
);
alg
->
set
InnerIterations
(
1
);
alg
->
set
OuterIterations
(
300
);
TEST_CYCLE
()
alg
->
calc
(
frame0
,
frame1
,
flow
);
CPU_SANITY_CHECK
(
flow
);
...
...
modules/cudaoptflow/test/test_optflow.cpp
View file @
da383e65
...
...
@@ -369,11 +369,11 @@ CUDA_TEST_P(OpticalFlowDual_TVL1, Accuracy)
cv
::
cuda
::
GpuMat
d_flow
;
d_alg
->
calc
(
loadMat
(
frame0
),
loadMat
(
frame1
),
d_flow
);
cv
::
Ptr
<
cv
::
D
ense
OpticalFlow
>
alg
=
cv
::
createOptFlow_DualTVL1
();
alg
->
set
(
"medianFiltering"
,
1
);
alg
->
set
(
"innerIterations"
,
1
);
alg
->
set
(
"outerIterations"
,
d_alg
->
getNumIterations
());
alg
->
set
(
"gamma"
,
gamma
);
cv
::
Ptr
<
cv
::
D
ualTVL1
OpticalFlow
>
alg
=
cv
::
createOptFlow_DualTVL1
();
alg
->
set
MedianFiltering
(
1
);
alg
->
set
InnerIterations
(
1
);
alg
->
set
OuterIterations
(
d_alg
->
getNumIterations
());
alg
->
set
Gamma
(
gamma
);
cv
::
Mat
flow
;
alg
->
calc
(
frame0
,
frame1
,
flow
);
...
...
modules/imgproc/src/clahe.cpp
View file @
da383e65
...
...
@@ -320,8 +320,6 @@ namespace
public
:
CLAHE_Impl
(
double
clipLimit
=
40.0
,
int
tilesX
=
8
,
int
tilesY
=
8
);
cv
::
AlgorithmInfo
*
info
()
const
;
void
apply
(
cv
::
InputArray
src
,
cv
::
OutputArray
dst
);
void
setClipLimit
(
double
clipLimit
);
...
...
@@ -351,11 +349,6 @@ namespace
{
}
CV_INIT_ALGORITHM
(
CLAHE_Impl
,
"CLAHE"
,
obj
.
info
()
->
addParam
(
obj
,
"clipLimit"
,
obj
.
clipLimit_
);
obj
.
info
()
->
addParam
(
obj
,
"tilesX"
,
obj
.
tilesX_
);
obj
.
info
()
->
addParam
(
obj
,
"tilesY"
,
obj
.
tilesY_
))
void
CLAHE_Impl
::
apply
(
cv
::
InputArray
_src
,
cv
::
OutputArray
_dst
)
{
CV_Assert
(
_src
.
type
()
==
CV_8UC1
||
_src
.
type
()
==
CV_16UC1
);
...
...
modules/shape/include/opencv2/shape.hpp
View file @
da383e65
...
...
@@ -52,11 +52,6 @@
@defgroup shape Shape Distance and Matching
*/
namespace
cv
{
CV_EXPORTS
bool
initModule_shape
();
}
#endif
/* End of file. */
modules/shape/src/aff_trans.cpp
View file @
da383e65
...
...
@@ -66,8 +66,6 @@ public:
{
}
virtual
AlgorithmInfo
*
info
()
const
{
return
0
;
}
//! the main operator
virtual
void
estimateTransformation
(
InputArray
transformingShape
,
InputArray
targetShape
,
std
::
vector
<
DMatch
>
&
matches
);
virtual
float
applyTransformation
(
InputArray
input
,
OutputArray
output
=
noArray
());
...
...
modules/shape/src/haus_dis.cpp
View file @
da383e65
...
...
@@ -60,8 +60,6 @@ public:
{
}
virtual
AlgorithmInfo
*
info
()
const
{
return
0
;
}
//! the main operator
virtual
float
computeDistance
(
InputArray
contour1
,
InputArray
contour2
);
...
...
modules/shape/src/hist_cost.cpp
View file @
da383e65
...
...
@@ -62,8 +62,6 @@ public:
{
}
virtual
AlgorithmInfo
*
info
()
const
{
return
0
;
}
//! the main operator
virtual
void
buildCostMatrix
(
InputArray
descriptors1
,
InputArray
descriptors2
,
OutputArray
costMatrix
);
...
...
@@ -189,8 +187,6 @@ public:
{
}
virtual
AlgorithmInfo
*
info
()
const
{
return
0
;
}
//! the main operator
virtual
void
buildCostMatrix
(
InputArray
descriptors1
,
InputArray
descriptors2
,
OutputArray
costMatrix
);
...
...
@@ -327,8 +323,6 @@ public:
{
}
virtual
AlgorithmInfo
*
info
()
const
{
return
0
;
}
//! the main operator
virtual
void
buildCostMatrix
(
InputArray
descriptors1
,
InputArray
descriptors2
,
OutputArray
costMatrix
);
...
...
@@ -445,8 +439,6 @@ public:
{
}
virtual
AlgorithmInfo
*
info
()
const
{
return
0
;
}
//! the main operator
virtual
void
buildCostMatrix
(
InputArray
descriptors1
,
InputArray
descriptors2
,
OutputArray
costMatrix
);
...
...
modules/shape/src/sc_dis.cpp
View file @
da383e65
...
...
@@ -79,8 +79,6 @@ public:
{
}
virtual
AlgorithmInfo
*
info
()
const
{
return
0
;
}
//! the main operator
virtual
float
computeDistance
(
InputArray
contour1
,
InputArray
contour2
);
...
...
modules/shape/src/tps_trans.cpp
View file @
da383e65
...
...
@@ -68,8 +68,6 @@ public:
{
}
virtual
AlgorithmInfo
*
info
()
const
{
return
0
;
}
//! the main operators
virtual
void
estimateTransformation
(
InputArray
transformingShape
,
InputArray
targetShape
,
std
::
vector
<
DMatch
>
&
matches
);
virtual
float
applyTransformation
(
InputArray
inPts
,
OutputArray
output
=
noArray
());
...
...
modules/superres/include/opencv2/superres.hpp
View file @
da383e65
...
...
@@ -44,6 +44,7 @@
#define __OPENCV_SUPERRES_HPP__
#include "opencv2/core.hpp"
#include "opencv2/superres/optical_flow.hpp"
/**
@defgroup superres Super Resolution
...
...
@@ -62,8 +63,6 @@ namespace cv
//! @addtogroup superres
//! @{
CV_EXPORTS
bool
initModule_superres
();
class
CV_EXPORTS
FrameSource
{
public
:
...
...
@@ -105,6 +104,36 @@ namespace cv
*/
virtual
void
collectGarbage
();
//! @name Scale factor
CV_PURE_PROPERTY
(
int
,
Scale
)
//! @name Iterations count
CV_PURE_PROPERTY
(
int
,
Iterations
)
//! @name Asymptotic value of steepest descent method
CV_PURE_PROPERTY
(
double
,
Tau
)
//! @name Weight parameter to balance data term and smoothness term
CV_PURE_PROPERTY
(
double
,
Labmda
)
//! @name Parameter of spacial distribution in Bilateral-TV
CV_PURE_PROPERTY
(
double
,
Alpha
)
//! @name Kernel size of Bilateral-TV filter
CV_PURE_PROPERTY
(
int
,
KernelSize
)
//! @name Gaussian blur kernel size
CV_PURE_PROPERTY
(
int
,
BlurKernelSize
)
//! @name Gaussian blur sigma
CV_PURE_PROPERTY
(
double
,
BlurSigma
)
//! @name Radius of the temporal search area
CV_PURE_PROPERTY
(
int
,
TemporalAreaRadius
)
//! @name Dense optical flow algorithm
CV_PURE_PROPERTY_S
(
Ptr
<
cv
::
superres
::
DenseOpticalFlowExt
>
,
OpticalFlow
)
protected
:
SuperResolution
();
...
...
@@ -139,7 +168,6 @@ namespace cv
*/
CV_EXPORTS
Ptr
<
SuperResolution
>
createSuperResolution_BTVL1
();
CV_EXPORTS
Ptr
<
SuperResolution
>
createSuperResolution_BTVL1_CUDA
();
CV_EXPORTS
Ptr
<
SuperResolution
>
createSuperResolution_BTVL1_OCL
();
//! @} superres
...
...
modules/superres/include/opencv2/superres/optical_flow.hpp
View file @
da383e65
...
...
@@ -60,20 +60,68 @@ namespace cv
virtual
void
collectGarbage
()
=
0
;
};
CV_EXPORTS
Ptr
<
DenseOpticalFlowExt
>
createOptFlow_Farneback
();
CV_EXPORTS
Ptr
<
DenseOpticalFlowExt
>
createOptFlow_Farneback_CUDA
();
CV_EXPORTS
Ptr
<
DenseOpticalFlowExt
>
createOptFlow_Farneback_OCL
();
CV_EXPORTS
Ptr
<
DenseOpticalFlowExt
>
createOptFlow_Simple
();
class
CV_EXPORTS
FarnebackOpticalFlow
:
public
virtual
DenseOpticalFlowExt
{
public
:
CV_PURE_PROPERTY
(
double
,
PyrScale
)
CV_PURE_PROPERTY
(
int
,
LevelsNumber
)
CV_PURE_PROPERTY
(
int
,
WindowSize
)
CV_PURE_PROPERTY
(
int
,
Iterations
)
CV_PURE_PROPERTY
(
int
,
PolyN
)
CV_PURE_PROPERTY
(
double
,
PolySigma
)
CV_PURE_PROPERTY
(
int
,
Flags
)
};
CV_EXPORTS
Ptr
<
FarnebackOpticalFlow
>
createOptFlow_Farneback
();
CV_EXPORTS
Ptr
<
FarnebackOpticalFlow
>
createOptFlow_Farneback_CUDA
();
// CV_EXPORTS Ptr<DenseOpticalFlowExt> createOptFlow_Simple();
CV_EXPORTS
Ptr
<
DenseOpticalFlowExt
>
createOptFlow_DualTVL1
();
CV_EXPORTS
Ptr
<
DenseOpticalFlowExt
>
createOptFlow_DualTVL1_CUDA
();
CV_EXPORTS
Ptr
<
DenseOpticalFlowExt
>
createOptFlow_DualTVL1_OCL
();
CV_EXPORTS
Ptr
<
DenseOpticalFlowExt
>
createOptFlow_Brox_CUDA
();
class
CV_EXPORTS
DualTVL1OpticalFlow
:
public
virtual
DenseOpticalFlowExt
{
public
:
CV_PURE_PROPERTY
(
double
,
Tau
)
CV_PURE_PROPERTY
(
double
,
Lambda
)
CV_PURE_PROPERTY
(
double
,
Theta
)
CV_PURE_PROPERTY
(
int
,
ScalesNumber
)
CV_PURE_PROPERTY
(
int
,
WarpingsNumber
)
CV_PURE_PROPERTY
(
double
,
Epsilon
)
CV_PURE_PROPERTY
(
int
,
Iterations
)
CV_PURE_PROPERTY
(
bool
,
UseInitialFlow
)
};
CV_EXPORTS
Ptr
<
DualTVL1OpticalFlow
>
createOptFlow_DualTVL1
();
CV_EXPORTS
Ptr
<
DualTVL1OpticalFlow
>
createOptFlow_DualTVL1_CUDA
();
CV_EXPORTS
Ptr
<
DenseOpticalFlowExt
>
createOptFlow_PyrLK_CUDA
();
CV_EXPORTS
Ptr
<
DenseOpticalFlowExt
>
createOptFlow_PyrLK_OCL
();
class
CV_EXPORTS
BroxOpticalFlow
:
public
virtual
DenseOpticalFlowExt
{
public
:
//! @name Flow smoothness
CV_PURE_PROPERTY
(
double
,
Alpha
)
//! @name Gradient constancy importance
CV_PURE_PROPERTY
(
double
,
Gamma
)
//! @name Pyramid scale factor
CV_PURE_PROPERTY
(
double
,
ScaleFactor
)
//! @name Number of lagged non-linearity iterations (inner loop)
CV_PURE_PROPERTY
(
int
,
InnerIterations
)
//! @name Number of warping iterations (number of pyramid levels)
CV_PURE_PROPERTY
(
int
,
OuterIterations
)
//! @name Number of linear system solver iterations
CV_PURE_PROPERTY
(
int
,
SolverIterations
)
};
CV_EXPORTS
Ptr
<
BroxOpticalFlow
>
createOptFlow_Brox_CUDA
();
class
PyrLKOpticalFlow
:
public
virtual
DenseOpticalFlowExt
{
public
:
CV_PURE_PROPERTY
(
int
,
WindowSize
)
CV_PURE_PROPERTY
(
int
,
MaxLevel
)
CV_PURE_PROPERTY
(
int
,
Iterations
)
};
CV_EXPORTS
Ptr
<
PyrLKOpticalFlow
>
createOptFlow_PyrLK_CUDA
();
//! @}
...
...
modules/superres/perf/perf_superres.cpp
View file @
da383e65
...
...
@@ -138,10 +138,10 @@ PERF_TEST_P(Size_MatType, SuperResolution_BTVL1,
{
Ptr
<
SuperResolution
>
superRes
=
createSuperResolution_BTVL1_CUDA
();
superRes
->
set
(
"scale"
,
scale
);
superRes
->
set
(
"iterations"
,
iterations
);
superRes
->
set
(
"temporalAreaRadius"
,
temporalAreaRadius
);
superRes
->
set
(
"opticalFlow"
,
opticalFlow
);
superRes
->
set
Scale
(
scale
);
superRes
->
set
Iterations
(
iterations
);
superRes
->
set
TemporalAreaRadius
(
temporalAreaRadius
);
superRes
->
set
OpticalFlow
(
opticalFlow
);
superRes
->
setInput
(
makePtr
<
OneFrameSource_CUDA
>
(
GpuMat
(
frame
)));
...
...
@@ -156,10 +156,10 @@ PERF_TEST_P(Size_MatType, SuperResolution_BTVL1,
{
Ptr
<
SuperResolution
>
superRes
=
createSuperResolution_BTVL1
();
superRes
->
set
(
"scale"
,
scale
);
superRes
->
set
(
"iterations"
,
iterations
);
superRes
->
set
(
"temporalAreaRadius"
,
temporalAreaRadius
);
superRes
->
set
(
"opticalFlow"
,
opticalFlow
);
superRes
->
set
Scale
(
scale
);
superRes
->
set
Iterations
(
iterations
);
superRes
->
set
TemporalAreaRadius
(
temporalAreaRadius
);
superRes
->
set
OpticalFlow
(
opticalFlow
);
superRes
->
setInput
(
makePtr
<
OneFrameSource_CPU
>
(
frame
));
...
...
@@ -198,10 +198,10 @@ OCL_PERF_TEST_P(SuperResolution_BTVL1 ,BTVL1,
Ptr
<
DenseOpticalFlowExt
>
opticalFlow
(
new
ZeroOpticalFlow
);
Ptr
<
SuperResolution
>
superRes
=
createSuperResolution_BTVL1
();
superRes
->
set
(
"scale"
,
scale
);
superRes
->
set
(
"iterations"
,
iterations
);
superRes
->
set
(
"temporalAreaRadius"
,
temporalAreaRadius
);
superRes
->
set
(
"opticalFlow"
,
opticalFlow
);
superRes
->
set
Scale
(
scale
);
superRes
->
set
Iterations
(
iterations
);
superRes
->
set
TemporalAreaRadius
(
temporalAreaRadius
);
superRes
->
set
OpticalFlow
(
opticalFlow
);
superRes
->
setInput
(
makePtr
<
OneFrameSource_CPU
>
(
frame
));
...
...
modules/superres/src/btv_l1.cpp
View file @
da383e65
...
...
@@ -460,7 +460,7 @@ namespace
func
(
_src
,
_dst
,
btvKernelSize
,
btvWeights
);
}
class
BTVL1_Base
class
BTVL1_Base
:
public
cv
::
superres
::
SuperResolution
{
public
:
BTVL1_Base
();
...
...
@@ -470,6 +470,17 @@ namespace
void
collectGarbage
();
CV_IMPL_PROPERTY
(
int
,
Scale
,
scale_
)
CV_IMPL_PROPERTY
(
int
,
Iterations
,
iterations_
)
CV_IMPL_PROPERTY
(
double
,
Tau
,
tau_
)
CV_IMPL_PROPERTY
(
double
,
Labmda
,
lambda_
)
CV_IMPL_PROPERTY
(
double
,
Alpha
,
alpha_
)
CV_IMPL_PROPERTY
(
int
,
KernelSize
,
btvKernelSize_
)
CV_IMPL_PROPERTY
(
int
,
BlurKernelSize
,
blurKernelSize_
)
CV_IMPL_PROPERTY
(
double
,
BlurSigma
,
blurSigma_
)
CV_IMPL_PROPERTY
(
int
,
TemporalAreaRadius
,
temporalAreaRadius_
)
CV_IMPL_PROPERTY_S
(
Ptr
<
cv
::
superres
::
DenseOpticalFlowExt
>
,
OpticalFlow
,
opticalFlow_
)
protected
:
int
scale_
;
int
iterations_
;
...
...
@@ -479,7 +490,8 @@ namespace
int
btvKernelSize_
;
int
blurKernelSize_
;
double
blurSigma_
;
Ptr
<
DenseOpticalFlowExt
>
opticalFlow_
;
int
temporalAreaRadius_
;
// not used in some implementations
Ptr
<
cv
::
superres
::
DenseOpticalFlowExt
>
opticalFlow_
;
private
:
bool
ocl_process
(
InputArrayOfArrays
src
,
OutputArray
dst
,
InputArrayOfArrays
forwardMotions
,
...
...
@@ -539,6 +551,7 @@ namespace
btvKernelSize_
=
7
;
blurKernelSize_
=
5
;
blurSigma_
=
0.0
;
temporalAreaRadius_
=
0
;
opticalFlow_
=
createOptFlow_Farneback
();
curBlurKernelSize_
=
-
1
;
...
...
@@ -781,12 +794,9 @@ namespace
////////////////////////////////////////////////////////////////////
class
BTVL1
:
public
SuperResolution
,
private
BTVL1_Base
class
BTVL1
:
public
BTVL1_Base
{
public
:
AlgorithmInfo
*
info
()
const
;
BTVL1
();
void
collectGarbage
();
...
...
@@ -799,8 +809,6 @@ namespace
bool
ocl_processImpl
(
Ptr
<
FrameSource
>&
frameSource
,
OutputArray
output
);
private
:
int
temporalAreaRadius_
;
void
readNextFrame
(
Ptr
<
FrameSource
>&
frameSource
);
bool
ocl_readNextFrame
(
Ptr
<
FrameSource
>&
frameSource
);
...
...
@@ -841,18 +849,6 @@ namespace
#endif
};
CV_INIT_ALGORITHM
(
BTVL1
,
"SuperResolution.BTVL1"
,
obj
.
info
()
->
addParam
(
obj
,
"scale"
,
obj
.
scale_
,
false
,
0
,
0
,
"Scale factor."
);
obj
.
info
()
->
addParam
(
obj
,
"iterations"
,
obj
.
iterations_
,
false
,
0
,
0
,
"Iteration count."
);
obj
.
info
()
->
addParam
(
obj
,
"tau"
,
obj
.
tau_
,
false
,
0
,
0
,
"Asymptotic value of steepest descent method."
);
obj
.
info
()
->
addParam
(
obj
,
"lambda"
,
obj
.
lambda_
,
false
,
0
,
0
,
"Weight parameter to balance data term and smoothness term."
);
obj
.
info
()
->
addParam
(
obj
,
"alpha"
,
obj
.
alpha_
,
false
,
0
,
0
,
"Parameter of spacial distribution in Bilateral-TV."
);
obj
.
info
()
->
addParam
(
obj
,
"btvKernelSize"
,
obj
.
btvKernelSize_
,
false
,
0
,
0
,
"Kernel size of Bilateral-TV filter."
);
obj
.
info
()
->
addParam
(
obj
,
"blurKernelSize"
,
obj
.
blurKernelSize_
,
false
,
0
,
0
,
"Gaussian blur kernel size."
);
obj
.
info
()
->
addParam
(
obj
,
"blurSigma"
,
obj
.
blurSigma_
,
false
,
0
,
0
,
"Gaussian blur sigma."
);
obj
.
info
()
->
addParam
(
obj
,
"temporalAreaRadius"
,
obj
.
temporalAreaRadius_
,
false
,
0
,
0
,
"Radius of the temporal search area."
);
obj
.
info
()
->
addParam
<
DenseOpticalFlowExt
>
(
obj
,
"opticalFlow"
,
obj
.
opticalFlow_
,
false
,
0
,
0
,
"Dense optical flow algorithm."
))
BTVL1
::
BTVL1
()
{
temporalAreaRadius_
=
4
;
...
...
@@ -1101,7 +1097,7 @@ namespace
}
}
Ptr
<
SuperResolution
>
cv
::
superres
::
createSuperResolution_BTVL1
()
Ptr
<
cv
::
superres
::
SuperResolution
>
cv
::
superres
::
createSuperResolution_BTVL1
()
{
return
makePtr
<
BTVL1
>
();
}
modules/superres/src/btv_l1_cuda.cpp
View file @
da383e65
...
...
@@ -207,7 +207,7 @@ namespace
funcs
[
src
.
channels
()](
src
,
dst
,
ksize
);
}
class
BTVL1_CUDA_Base
class
BTVL1_CUDA_Base
:
public
cv
::
superres
::
SuperResolution
{
public
:
BTVL1_CUDA_Base
();
...
...
@@ -218,6 +218,17 @@ namespace
void
collectGarbage
();
CV_IMPL_PROPERTY
(
int
,
Scale
,
scale_
)
CV_IMPL_PROPERTY
(
int
,
Iterations
,
iterations_
)
CV_IMPL_PROPERTY
(
double
,
Tau
,
tau_
)
CV_IMPL_PROPERTY
(
double
,
Labmda
,
lambda_
)
CV_IMPL_PROPERTY
(
double
,
Alpha
,
alpha_
)
CV_IMPL_PROPERTY
(
int
,
KernelSize
,
btvKernelSize_
)
CV_IMPL_PROPERTY
(
int
,
BlurKernelSize
,
blurKernelSize_
)
CV_IMPL_PROPERTY
(
double
,
BlurSigma
,
blurSigma_
)
CV_IMPL_PROPERTY
(
int
,
TemporalAreaRadius
,
temporalAreaRadius_
)
CV_IMPL_PROPERTY_S
(
Ptr
<
cv
::
superres
::
DenseOpticalFlowExt
>
,
OpticalFlow
,
opticalFlow_
)
protected
:
int
scale_
;
int
iterations_
;
...
...
@@ -227,7 +238,8 @@ namespace
int
btvKernelSize_
;
int
blurKernelSize_
;
double
blurSigma_
;
Ptr
<
DenseOpticalFlowExt
>
opticalFlow_
;
int
temporalAreaRadius_
;
Ptr
<
cv
::
superres
::
DenseOpticalFlowExt
>
opticalFlow_
;
private
:
std
::
vector
<
Ptr
<
cuda
::
Filter
>
>
filters_
;
...
...
@@ -272,6 +284,7 @@ namespace
#else
opticalFlow_
=
createOptFlow_Farneback
();
#endif
temporalAreaRadius_
=
0
;
curBlurKernelSize_
=
-
1
;
curBlurSigma_
=
-
1.0
;
...
...
@@ -401,11 +414,9 @@ namespace
////////////////////////////////////////////////////////////
class
BTVL1_CUDA
:
public
SuperResolution
,
private
BTVL1_CUDA_Base
class
BTVL1_CUDA
:
public
BTVL1_CUDA_Base
{
public
:
AlgorithmInfo
*
info
()
const
;
BTVL1_CUDA
();
void
collectGarbage
();
...
...
@@ -415,8 +426,6 @@ namespace
void
processImpl
(
Ptr
<
FrameSource
>&
frameSource
,
OutputArray
output
);
private
:
int
temporalAreaRadius_
;
void
readNextFrame
(
Ptr
<
FrameSource
>&
frameSource
);
void
processFrame
(
int
idx
);
...
...
@@ -438,18 +447,6 @@ namespace
GpuMat
finalOutput_
;
};
CV_INIT_ALGORITHM
(
BTVL1_CUDA
,
"SuperResolution.BTVL1_CUDA"
,
obj
.
info
()
->
addParam
(
obj
,
"scale"
,
obj
.
scale_
,
false
,
0
,
0
,
"Scale factor."
);
obj
.
info
()
->
addParam
(
obj
,
"iterations"
,
obj
.
iterations_
,
false
,
0
,
0
,
"Iteration count."
);
obj
.
info
()
->
addParam
(
obj
,
"tau"
,
obj
.
tau_
,
false
,
0
,
0
,
"Asymptotic value of steepest descent method."
);
obj
.
info
()
->
addParam
(
obj
,
"lambda"
,
obj
.
lambda_
,
false
,
0
,
0
,
"Weight parameter to balance data term and smoothness term."
);
obj
.
info
()
->
addParam
(
obj
,
"alpha"
,
obj
.
alpha_
,
false
,
0
,
0
,
"Parameter of spacial distribution in Bilateral-TV."
);
obj
.
info
()
->
addParam
(
obj
,
"btvKernelSize"
,
obj
.
btvKernelSize_
,
false
,
0
,
0
,
"Kernel size of Bilateral-TV filter."
);
obj
.
info
()
->
addParam
(
obj
,
"blurKernelSize"
,
obj
.
blurKernelSize_
,
false
,
0
,
0
,
"Gaussian blur kernel size."
);
obj
.
info
()
->
addParam
(
obj
,
"blurSigma"
,
obj
.
blurSigma_
,
false
,
0
,
0
,
"Gaussian blur sigma."
);
obj
.
info
()
->
addParam
(
obj
,
"temporalAreaRadius"
,
obj
.
temporalAreaRadius_
,
false
,
0
,
0
,
"Radius of the temporal search area."
);
obj
.
info
()
->
addParam
<
DenseOpticalFlowExt
>
(
obj
,
"opticalFlow"
,
obj
.
opticalFlow_
,
false
,
0
,
0
,
"Dense optical flow algorithm."
));
BTVL1_CUDA
::
BTVL1_CUDA
()
{
temporalAreaRadius_
=
4
;
...
...
modules/superres/src/optical_flow.cpp
View file @
da383e65
This diff is collapsed.
Click to expand it.
modules/superres/src/super_resolution.cpp
View file @
da383e65
...
...
@@ -45,11 +45,6 @@
using
namespace
cv
;
using
namespace
cv
::
superres
;
bool
cv
::
superres
::
initModule_superres
()
{
return
!
createSuperResolution_BTVL1
().
empty
();
}
cv
::
superres
::
SuperResolution
::
SuperResolution
()
{
frameSource_
=
createFrameSource_Empty
();
...
...
modules/superres/test/test_superres.cpp
View file @
da383e65
...
...
@@ -222,11 +222,11 @@ void SuperResolution::RunTest(cv::Ptr<cv::superres::SuperResolution> superRes)
ASSERT_FALSE
(
superRes
.
empty
()
);
const
int
btvKernelSize
=
superRes
->
get
Int
(
"btvKernelSize"
);
const
int
btvKernelSize
=
superRes
->
get
KernelSize
(
);
superRes
->
set
(
"scale"
,
scale
);
superRes
->
set
(
"iterations"
,
iterations
);
superRes
->
set
(
"temporalAreaRadius"
,
temporalAreaRadius
);
superRes
->
set
Scale
(
scale
);
superRes
->
set
Iterations
(
iterations
);
superRes
->
set
TemporalAreaRadius
(
temporalAreaRadius
);
cv
::
Ptr
<
cv
::
superres
::
FrameSource
>
goldSource
(
new
AllignedFrameSource
(
cv
::
superres
::
createFrameSource_Video
(
inputVideoName
),
scale
));
cv
::
Ptr
<
cv
::
superres
::
FrameSource
>
lowResSource
(
new
DegradeFrameSource
(
...
...
modules/video/include/opencv2/video/tracking.hpp
View file @
da383e65
...
...
@@ -380,6 +380,21 @@ public:
};
class
CV_EXPORTS_W
DenseOpticalFlow
:
public
Algorithm
{
public
:
/** @brief Calculates an optical flow.
@param I0 first 8-bit single-channel input image.
@param I1 second input image of the same size and the same type as prev.
@param flow computed flow image that has the same size as prev and type CV_32FC2.
*/
CV_WRAP
virtual
void
calc
(
InputArray
I0
,
InputArray
I1
,
InputOutputArray
flow
)
=
0
;
/** @brief Releases all inner buffers.
*/
CV_WRAP
virtual
void
collectGarbage
()
=
0
;
};
/** @brief "Dual TV L1" Optical Flow Algorithm.
The class implements the "Dual TV L1" optical flow algorithm described in @cite Zach2007 and
...
...
@@ -422,24 +437,38 @@ constructing the class instance:
C. Zach, T. Pock and H. Bischof, "A Duality Based Approach for Realtime TV-L1 Optical Flow".
Javier Sanchez, Enric Meinhardt-Llopis and Gabriele Facciolo. "TV-L1 Optical Flow Estimation".
*/
class
CV_EXPORTS_W
D
enseOpticalFlow
:
public
Algorithm
class
CV_EXPORTS_W
D
ualTVL1OpticalFlow
:
public
DenseOpticalFlow
{
public
:
/** @brief Calculates an optical flow.
@param I0 first 8-bit single-channel input image.
@param I1 second input image of the same size and the same type as prev.
@param flow computed flow image that has the same size as prev and type CV_32FC2.
*/
CV_WRAP
virtual
void
calc
(
InputArray
I0
,
InputArray
I1
,
InputOutputArray
flow
)
=
0
;
/** @brief Releases all inner buffers.
*/
CV_WRAP
virtual
void
collectGarbage
()
=
0
;
//! @name Time step of the numerical scheme
CV_PURE_PROPERTY
(
double
,
Tau
)
//! @name Weight parameter for the data term, attachment parameter
CV_PURE_PROPERTY
(
double
,
Lambda
)
//! @name Weight parameter for (u - v)^2, tightness parameter
CV_PURE_PROPERTY
(
double
,
Theta
)
//! @name coefficient for additional illumination variation term
CV_PURE_PROPERTY
(
double
,
Gamma
)
//! @name Number of scales used to create the pyramid of images
CV_PURE_PROPERTY
(
int
,
ScalesNumber
)
//! @name Number of warpings per scale
CV_PURE_PROPERTY
(
int
,
WarpingsNumber
)
//! @name Stopping criterion threshold used in the numerical scheme, which is a trade-off between precision and running time
CV_PURE_PROPERTY
(
double
,
Epsilon
)
//! @name Inner iterations (between outlier filtering) used in the numerical scheme
CV_PURE_PROPERTY
(
int
,
InnerIterations
)
//! @name Outer iterations (number of inner loops) used in the numerical scheme
CV_PURE_PROPERTY
(
int
,
OuterIterations
)
//! @name Use initial flow
CV_PURE_PROPERTY
(
bool
,
UseInitialFlow
)
//! @name Step between scales (<1)
CV_PURE_PROPERTY
(
double
,
ScaleStep
)
//! @name Median filter kernel size (1 = no filter) (3 or 5)
CV_PURE_PROPERTY
(
int
,
MedianFiltering
)
};
/** @brief Creates instance of cv::DenseOpticalFlow
*/
CV_EXPORTS_W
Ptr
<
D
ense
OpticalFlow
>
createOptFlow_DualTVL1
();
CV_EXPORTS_W
Ptr
<
D
ualTVL1
OpticalFlow
>
createOptFlow_DualTVL1
();
//! @} video_track
...
...
modules/video/perf/opencl/perf_optflow_dualTVL1.cpp
View file @
da383e65
...
...
@@ -87,11 +87,11 @@ OCL_PERF_TEST_P(OpticalFlowDualTVL1Fixture, OpticalFlowDualTVL1,
declare
.
in
(
uFrame0
,
uFrame1
,
WARMUP_READ
).
out
(
uFlow
,
WARMUP_READ
);
//create algorithm
cv
::
Ptr
<
cv
::
D
ense
OpticalFlow
>
alg
=
cv
::
createOptFlow_DualTVL1
();
cv
::
Ptr
<
cv
::
D
ualTVL1
OpticalFlow
>
alg
=
cv
::
createOptFlow_DualTVL1
();
//set parameters
alg
->
set
(
"scaleStep"
,
scaleStep
);
alg
->
set
Int
(
"medianFiltering"
,
medianFiltering
);
alg
->
set
ScaleStep
(
scaleStep
);
alg
->
set
MedianFiltering
(
medianFiltering
);
if
(
useInitFlow
)
{
...
...
@@ -100,7 +100,7 @@ OCL_PERF_TEST_P(OpticalFlowDualTVL1Fixture, OpticalFlowDualTVL1,
}
//set flag to use initial flow
alg
->
set
Bool
(
"useInitialFlow"
,
useInitFlow
);
alg
->
set
UseInitialFlow
(
useInitFlow
);
OCL_TEST_CYCLE
()
alg
->
calc
(
uFrame0
,
uFrame1
,
uFlow
);
...
...
@@ -109,4 +109,4 @@ OCL_PERF_TEST_P(OpticalFlowDualTVL1Fixture, OpticalFlowDualTVL1,
}
}
// namespace cvtest::ocl
#endif // HAVE_OPENCL
\ No newline at end of file
#endif // HAVE_OPENCL
modules/video/src/bgfg_KNN.cpp
View file @
da383e65
...
...
@@ -160,8 +160,6 @@ public:
nNextLongUpdate
=
Scalar
::
all
(
0
);
}
virtual
AlgorithmInfo
*
info
()
const
{
return
0
;
}
virtual
int
getHistory
()
const
{
return
history
;
}
virtual
void
setHistory
(
int
_nframes
)
{
history
=
_nframes
;
}
...
...
modules/video/src/bgfg_gaussmix2.cpp
View file @
da383e65
...
...
@@ -230,8 +230,6 @@ public:
}
}
virtual
AlgorithmInfo
*
info
()
const
{
return
0
;
}
virtual
int
getHistory
()
const
{
return
history
;
}
virtual
void
setHistory
(
int
_nframes
)
{
history
=
_nframes
;
}
...
...
modules/video/src/tvl1flow.cpp
View file @
da383e65
...
...
@@ -86,7 +86,7 @@ using namespace cv;
namespace
{
class
OpticalFlowDual_TVL1
:
public
D
ense
OpticalFlow
class
OpticalFlowDual_TVL1
:
public
D
ualTVL1
OpticalFlow
{
public
:
OpticalFlowDual_TVL1
();
...
...
@@ -94,7 +94,18 @@ public:
void
calc
(
InputArray
I0
,
InputArray
I1
,
InputOutputArray
flow
);
void
collectGarbage
();
AlgorithmInfo
*
info
()
const
;
CV_IMPL_PROPERTY
(
double
,
Tau
,
tau
)
CV_IMPL_PROPERTY
(
double
,
Lambda
,
lambda
)
CV_IMPL_PROPERTY
(
double
,
Theta
,
theta
)
CV_IMPL_PROPERTY
(
double
,
Gamma
,
gamma
)
CV_IMPL_PROPERTY
(
int
,
ScalesNumber
,
nscales
)
CV_IMPL_PROPERTY
(
int
,
WarpingsNumber
,
warps
)
CV_IMPL_PROPERTY
(
double
,
Epsilon
,
epsilon
)
CV_IMPL_PROPERTY
(
int
,
InnerIterations
,
innerIterations
)
CV_IMPL_PROPERTY
(
int
,
OuterIterations
,
outerIterations
)
CV_IMPL_PROPERTY
(
bool
,
UseInitialFlow
,
useInitialFlow
)
CV_IMPL_PROPERTY
(
double
,
ScaleStep
,
scaleStep
)
CV_IMPL_PROPERTY
(
int
,
MedianFiltering
,
medianFiltering
)
protected
:
double
tau
;
...
...
@@ -1416,35 +1427,9 @@ void OpticalFlowDual_TVL1::collectGarbage()
dum
.
norm_buf
.
release
();
}
CV_INIT_ALGORITHM
(
OpticalFlowDual_TVL1
,
"DenseOpticalFlow.DualTVL1"
,
obj
.
info
()
->
addParam
(
obj
,
"tau"
,
obj
.
tau
,
false
,
0
,
0
,
"Time step of the numerical scheme"
);
obj
.
info
()
->
addParam
(
obj
,
"lambda"
,
obj
.
lambda
,
false
,
0
,
0
,
"Weight parameter for the data term, attachment parameter"
);
obj
.
info
()
->
addParam
(
obj
,
"theta"
,
obj
.
theta
,
false
,
0
,
0
,
"Weight parameter for (u - v)^2, tightness parameter"
);
obj
.
info
()
->
addParam
(
obj
,
"nscales"
,
obj
.
nscales
,
false
,
0
,
0
,
"Number of scales used to create the pyramid of images"
);
obj
.
info
()
->
addParam
(
obj
,
"warps"
,
obj
.
warps
,
false
,
0
,
0
,
"Number of warpings per scale"
);
obj
.
info
()
->
addParam
(
obj
,
"medianFiltering"
,
obj
.
medianFiltering
,
false
,
0
,
0
,
"Median filter kernel size (1 = no filter) (3 or 5)"
);
obj
.
info
()
->
addParam
(
obj
,
"scaleStep"
,
obj
.
scaleStep
,
false
,
0
,
0
,
"Step between scales (<1)"
);
obj
.
info
()
->
addParam
(
obj
,
"epsilon"
,
obj
.
epsilon
,
false
,
0
,
0
,
"Stopping criterion threshold used in the numerical scheme, which is a trade-off between precision and running time"
);
obj
.
info
()
->
addParam
(
obj
,
"innerIterations"
,
obj
.
innerIterations
,
false
,
0
,
0
,
"inner iterations (between outlier filtering) used in the numerical scheme"
);
obj
.
info
()
->
addParam
(
obj
,
"outerIterations"
,
obj
.
outerIterations
,
false
,
0
,
0
,
"outer iterations (number of inner loops) used in the numerical scheme"
);
obj
.
info
()
->
addParam
(
obj
,
"gamma"
,
obj
.
gamma
,
false
,
0
,
0
,
"coefficient for additional illumination variation term"
);
obj
.
info
()
->
addParam
(
obj
,
"useInitialFlow"
,
obj
.
useInitialFlow
))
}
// namespace
Ptr
<
D
ense
OpticalFlow
>
cv
::
createOptFlow_DualTVL1
()
Ptr
<
D
ualTVL1
OpticalFlow
>
cv
::
createOptFlow_DualTVL1
()
{
return
makePtr
<
OpticalFlowDual_TVL1
>
();
}
modules/video/test/ocl/test_optflow_tvl1flow.cpp
View file @
da383e65
...
...
@@ -82,11 +82,11 @@ OCL_TEST_P(OpticalFlowTVL1, Mat)
cv
::
Mat
flow
;
cv
::
UMat
uflow
;
//create algorithm
cv
::
Ptr
<
cv
::
D
ense
OpticalFlow
>
alg
=
cv
::
createOptFlow_DualTVL1
();
cv
::
Ptr
<
cv
::
D
ualTVL1
OpticalFlow
>
alg
=
cv
::
createOptFlow_DualTVL1
();
//set parameters
alg
->
set
(
"scaleStep"
,
scaleStep
);
alg
->
set
Int
(
"medianFiltering"
,
medianFiltering
);
alg
->
set
ScaleStep
(
scaleStep
);
alg
->
set
MedianFiltering
(
medianFiltering
);
//create initial flow as result of algorithm calculation
if
(
useInitFlow
)
...
...
@@ -96,7 +96,7 @@ OCL_TEST_P(OpticalFlowTVL1, Mat)
}
//set flag to use initial flow as it is ready to use
alg
->
set
Bool
(
"useInitialFlow"
,
useInitFlow
);
alg
->
set
UseInitialFlow
(
useInitFlow
);
OCL_OFF
(
alg
->
calc
(
frame0
,
frame1
,
flow
));
OCL_ON
(
alg
->
calc
(
frame0
,
frame1
,
uflow
));
...
...
@@ -114,4 +114,4 @@ OCL_INSTANTIATE_TEST_CASE_P(Video, OpticalFlowTVL1,
}
}
// namespace cvtest::ocl
#endif // HAVE_OPENCL
\ No newline at end of file
#endif // HAVE_OPENCL
samples/cpp/tutorial_code/features2D/AKAZE_tracking/planar_tracking.cpp
View file @
da383e65
...
...
@@ -138,7 +138,7 @@ int main(int argc, char **argv)
Stats
stats
,
akaze_stats
,
orb_stats
;
Ptr
<
AKAZE
>
akaze
=
AKAZE
::
create
();
akaze
->
set
(
"threshold"
,
akaze_thresh
);
akaze
->
set
Threshold
(
akaze_thresh
);
Ptr
<
ORB
>
orb
=
ORB
::
create
();
orb
->
setMaxFeatures
(
stats
.
keypoints
);
Ptr
<
DescriptorMatcher
>
matcher
=
DescriptorMatcher
::
create
(
"BruteForce-Hamming"
);
...
...
@@ -163,7 +163,7 @@ int main(int argc, char **argv)
akaze_draw_stats
=
stats
;
}
orb
_tracker
.
getDetector
()
->
set
(
"nFeatures"
,
stats
.
keypoints
);
orb
->
setMaxFeatures
(
stats
.
keypoints
);
orb_res
=
orb_tracker
.
process
(
frame
,
stats
);
orb_stats
+=
stats
;
if
(
update_stats
)
{
...
...
samples/gpu/super_resolution.cpp
View file @
da383e65
...
...
@@ -26,32 +26,32 @@ using namespace cv::superres;
cout << tm.getTimeSec() << " sec" << endl; \
}
static
Ptr
<
DenseOpticalFlowExt
>
createOptFlow
(
const
string
&
name
,
bool
useGpu
)
static
Ptr
<
cv
::
superres
::
DenseOpticalFlowExt
>
createOptFlow
(
const
string
&
name
,
bool
useGpu
)
{
if
(
name
==
"farneback"
)
{
if
(
useGpu
)
return
createOptFlow_Farneback_CUDA
();
return
c
v
::
superres
::
c
reateOptFlow_Farneback_CUDA
();
else
return
createOptFlow_Farneback
();
return
c
v
::
superres
::
c
reateOptFlow_Farneback
();
}
/*else if (name == "simple")
return createOptFlow_Simple();*/
else
if
(
name
==
"tvl1"
)
{
if
(
useGpu
)
return
createOptFlow_DualTVL1_CUDA
();
return
c
v
::
superres
::
c
reateOptFlow_DualTVL1_CUDA
();
else
return
createOptFlow_DualTVL1
();
return
c
v
::
superres
::
c
reateOptFlow_DualTVL1
();
}
else
if
(
name
==
"brox"
)
return
createOptFlow_Brox_CUDA
();
return
c
v
::
superres
::
c
reateOptFlow_Brox_CUDA
();
else
if
(
name
==
"pyrlk"
)
return
createOptFlow_PyrLK_CUDA
();
return
c
v
::
superres
::
c
reateOptFlow_PyrLK_CUDA
();
else
cerr
<<
"Incorrect Optical Flow algorithm - "
<<
name
<<
endl
;
return
Ptr
<
DenseOpticalFlowExt
>
();
return
Ptr
<
cv
::
superres
::
DenseOpticalFlowExt
>
();
}
int
main
(
int
argc
,
const
char
*
argv
[])
...
...
@@ -92,15 +92,15 @@ int main(int argc, const char* argv[])
else
superRes
=
createSuperResolution_BTVL1
();
Ptr
<
DenseOpticalFlowExt
>
of
=
createOptFlow
(
optFlow
,
useCuda
);
Ptr
<
cv
::
superres
::
DenseOpticalFlowExt
>
of
=
createOptFlow
(
optFlow
,
useCuda
);
if
(
of
.
empty
())
return
EXIT_FAILURE
;
superRes
->
set
(
"opticalFlow"
,
of
);
superRes
->
set
OpticalFlow
(
of
);
superRes
->
set
(
"scale"
,
scale
);
superRes
->
set
(
"iterations"
,
iterations
);
superRes
->
set
(
"temporalAreaRadius"
,
temporalAreaRadius
);
superRes
->
set
Scale
(
scale
);
superRes
->
set
Iterations
(
iterations
);
superRes
->
set
TemporalAreaRadius
(
temporalAreaRadius
);
Ptr
<
FrameSource
>
frameSource
;
if
(
useCuda
)
...
...
samples/gpu/surf_keypoint_matcher.cpp
View file @
da383e65
...
...
@@ -62,19 +62,17 @@ int main(int argc, char* argv[])
cout
<<
"FOUND "
<<
keypoints2GPU
.
cols
<<
" keypoints on second image"
<<
endl
;
// matching descriptors
BFMatcher_CUDA
m
atcher
(
surf
.
defaultNorm
());
GpuMat
trainIdx
,
distance
;
matcher
.
matchSingle
(
descriptors1GPU
,
descriptors2GPU
,
trainIdx
,
distance
);
Ptr
<
cv
::
cuda
::
DescriptorMatcher
>
matcher
=
cv
::
cuda
::
DescriptorMatcher
::
createBFM
atcher
(
surf
.
defaultNorm
());
vector
<
DMatch
>
matches
;
matcher
->
match
(
descriptors1GPU
,
descriptors2GPU
,
matches
);
// downloading results
vector
<
KeyPoint
>
keypoints1
,
keypoints2
;
vector
<
float
>
descriptors1
,
descriptors2
;
vector
<
DMatch
>
matches
;
surf
.
downloadKeypoints
(
keypoints1GPU
,
keypoints1
);
surf
.
downloadKeypoints
(
keypoints2GPU
,
keypoints2
);
surf
.
downloadDescriptors
(
descriptors1GPU
,
descriptors1
);
surf
.
downloadDescriptors
(
descriptors2GPU
,
descriptors2
);
BFMatcher_CUDA
::
matchDownload
(
trainIdx
,
distance
,
matches
);
// drawing the results
Mat
img_matches
;
...
...
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