Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
a1c456b7
O
Opencv
项目概览
Greenplum
/
Opencv
11 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a1c456b7
编写于
3月 14, 2013
作者:
A
Andrey Kamaev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Extract common base header for C and C++ APIs
上级
1eb34e06
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
460 addition
and
340 deletion
+460
-340
modules/calib3d/include/opencv2/calib3d.hpp
modules/calib3d/include/opencv2/calib3d.hpp
+6
-6
modules/core/include/opencv2/core.hpp
modules/core/include/opencv2/core.hpp
+7
-11
modules/core/include/opencv2/core/cvdef.h
modules/core/include/opencv2/core/cvdef.h
+424
-0
modules/core/include/opencv2/core/operations.hpp
modules/core/include/opencv2/core/operations.hpp
+0
-34
modules/core/include/opencv2/core/types_c.h
modules/core/include/opencv2/core/types_c.h
+8
-272
modules/imgproc/include/opencv2/imgproc.hpp
modules/imgproc/include/opencv2/imgproc.hpp
+1
-1
modules/legacy/src/_vm.h
modules/legacy/src/_vm.h
+0
-2
modules/legacy/src/lcm.cpp
modules/legacy/src/lcm.cpp
+4
-4
modules/python/src2/hdr_parser.py
modules/python/src2/hdr_parser.py
+1
-1
modules/softcascade/doc/softcascade_detector.rst
modules/softcascade/doc/softcascade_detector.rst
+2
-2
modules/softcascade/include/opencv2/softcascade.hpp
modules/softcascade/include/opencv2/softcascade.hpp
+2
-2
modules/softcascade/src/integral_channel_builder.cpp
modules/softcascade/src/integral_channel_builder.cpp
+1
-1
modules/video/include/opencv2/video/tracking.hpp
modules/video/include/opencv2/video/tracking.hpp
+2
-2
modules/video/src/bgfg_gaussmix2.cpp
modules/video/src/bgfg_gaussmix2.cpp
+1
-1
samples/ocl/performance.cpp
samples/ocl/performance.cpp
+1
-1
未找到文件。
modules/calib3d/include/opencv2/calib3d.hpp
浏览文件 @
a1c456b7
...
...
@@ -550,8 +550,8 @@ enum
CV_EXPORTS_W
double
calibrateCamera
(
InputArrayOfArrays
objectPoints
,
InputArrayOfArrays
imagePoints
,
Size
imageSize
,
CV_OUT
InputOutputArray
cameraMatrix
,
CV_OUT
InputOutputArray
distCoeffs
,
InputOutputArray
cameraMatrix
,
InputOutputArray
distCoeffs
,
OutputArrayOfArrays
rvecs
,
OutputArrayOfArrays
tvecs
,
int
flags
=
0
,
TermCriteria
criteria
=
TermCriteria
(
TermCriteria
::
COUNT
+
TermCriteria
::
EPS
,
30
,
DBL_EPSILON
)
);
...
...
@@ -571,10 +571,10 @@ CV_EXPORTS_W void calibrationMatrixValues( InputArray cameraMatrix,
CV_EXPORTS_W
double
stereoCalibrate
(
InputArrayOfArrays
objectPoints
,
InputArrayOfArrays
imagePoints1
,
InputArrayOfArrays
imagePoints2
,
CV_OUT
InputOutputArray
cameraMatrix1
,
CV_OUT
InputOutputArray
distCoeffs1
,
CV_OUT
InputOutputArray
cameraMatrix2
,
CV_OUT
InputOutputArray
distCoeffs2
,
InputOutputArray
cameraMatrix1
,
InputOutputArray
distCoeffs1
,
InputOutputArray
cameraMatrix2
,
InputOutputArray
distCoeffs2
,
Size
imageSize
,
OutputArray
R
,
OutputArray
T
,
OutputArray
E
,
OutputArray
F
,
TermCriteria
criteria
=
TermCriteria
(
TermCriteria
::
COUNT
+
TermCriteria
::
EPS
,
30
,
1e-6
),
...
...
modules/core/include/opencv2/core.hpp
浏览文件 @
a1c456b7
...
...
@@ -46,6 +46,8 @@
#ifndef __OPENCV_CORE_HPP__
#define __OPENCV_CORE_HPP__
#include "opencv2/core/cvdef.h"
#include "opencv2/core/types_c.h"
#include "opencv2/core/version.hpp"
...
...
@@ -69,11 +71,6 @@
*/
namespace
cv
{
#undef abs
#undef min
#undef max
#undef Complex
template
<
typename
_Tp
>
class
CV_EXPORTS
Size_
;
template
<
typename
_Tp
>
class
CV_EXPORTS
Point_
;
template
<
typename
_Tp
>
class
CV_EXPORTS
Rect_
;
...
...
@@ -2426,10 +2423,10 @@ public:
Mat
mean
;
//!< mean value subtracted before the projection and added after the back projection
};
CV_EXPORTS_W
void
PCACompute
(
InputArray
data
,
CV_OUT
InputOutputArray
mean
,
CV_EXPORTS_W
void
PCACompute
(
InputArray
data
,
InputOutputArray
mean
,
OutputArray
eigenvectors
,
int
maxComponents
=
0
);
CV_EXPORTS_W
void
PCACompute
(
InputArray
data
,
CV_OUT
InputOutputArray
mean
,
CV_EXPORTS_W
void
PCACompute
(
InputArray
data
,
InputOutputArray
mean
,
OutputArray
eigenvectors
,
double
retainedVariance
);
CV_EXPORTS_W
void
PCAProject
(
InputArray
data
,
InputArray
mean
,
...
...
@@ -2489,12 +2486,11 @@ public:
};
//! computes SVD of src
CV_EXPORTS_W
void
SVDecomp
(
InputArray
src
,
CV_OUT
OutputArray
w
,
CV_OUT
OutputArray
u
,
CV_OUT
OutputArray
vt
,
int
flags
=
0
);
CV_EXPORTS_W
void
SVDecomp
(
InputArray
src
,
OutputArray
w
,
OutputArray
u
,
OutputArray
vt
,
int
flags
=
0
);
//! performs back substitution for the previously computed SVD
CV_EXPORTS_W
void
SVBackSubst
(
InputArray
w
,
InputArray
u
,
InputArray
vt
,
InputArray
rhs
,
CV_OUT
OutputArray
dst
);
InputArray
rhs
,
OutputArray
dst
);
//! computes Mahalanobis distance between two vectors: sqrt((v1-v2)'*icovar*(v1-v2)), where icovar is the inverse covariation matrix
CV_EXPORTS_W
double
Mahalanobis
(
InputArray
v1
,
InputArray
v2
,
InputArray
icovar
);
...
...
@@ -2525,7 +2521,7 @@ enum
KMEANS_USE_INITIAL_LABELS
=
1
// Uses the user-provided labels for K-Means initialization
};
//! clusters the input data using k-Means algorithm
CV_EXPORTS_W
double
kmeans
(
InputArray
data
,
int
K
,
CV_OUT
InputOutputArray
bestLabels
,
CV_EXPORTS_W
double
kmeans
(
InputArray
data
,
int
K
,
InputOutputArray
bestLabels
,
TermCriteria
criteria
,
int
attempts
,
int
flags
,
OutputArray
centers
=
noArray
()
);
...
...
modules/core/include/opencv2/core/cvdef.h
0 → 100644
浏览文件 @
a1c456b7
/*M///////////////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
//
// By downloading, copying, installing or using the software you agree to this license.
// If you do not agree to this license, do not download, install,
// copy or use the software.
//
//
// License Agreement
// For Open Source Computer Vision Library
//
// Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
// Copyright (C) 2009, Willow Garage Inc., all rights reserved.
// Copyright (C) 2013, OpenCV Foundation, all rights reserved.
// Third party copyrights are property of their respective owners.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// * Redistribution's of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// * Redistribution's in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// * The name of the copyright holders may not be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// This software is provided by the copyright holders and contributors "as is" and
// any express or implied warranties, including, but not limited to, the implied
// warranties of merchantability and fitness for a particular purpose are disclaimed.
// In no event shall the Intel Corporation or contributors be liable for any direct,
// indirect, incidental, special, exemplary, or consequential damages
// (including, but not limited to, procurement of substitute goods or services;
// loss of use, data, or profits; or business interruption) however caused
// and on any theory of liability, whether in contract, strict liability,
// or tort (including negligence or otherwise) arising in any way out of
// the use of this software, even if advised of the possibility of such damage.
//
//M*/
#ifndef __OPENCV_CORE_CVDEF_H__
#define __OPENCV_CORE_CVDEF_H__
#if !defined _CRT_SECURE_NO_DEPRECATE && defined _MSC_VER && _MSC_VER > 1300
# define _CRT_SECURE_NO_DEPRECATE
/* to avoid multiple Visual Studio warnings */
#endif
// undef problematic defines sometimes defined by system headers (windows.h in particular)
#undef small
#undef min
#undef max
#undef abs
#undef Complex
#if defined __ICL
# define CV_ICC __ICL
#elif defined __ICC
# define CV_ICC __ICC
#elif defined __ECL
# define CV_ICC __ECL
#elif defined __ECC
# define CV_ICC __ECC
#elif defined __INTEL_COMPILER
# define CV_ICC __INTEL_COMPILER
#endif
#if defined CV_ICC && !defined CV_ENABLE_UNROLLED
# define CV_ENABLE_UNROLLED 0
#else
# define CV_ENABLE_UNROLLED 1
#endif
#if (defined WIN32 || defined _WIN32 || defined WINCE) && defined CVAPI_EXPORTS
# define CV_EXPORTS __declspec(dllexport)
#else
# define CV_EXPORTS
#endif
#ifndef CV_INLINE
# if defined __cplusplus
# define CV_INLINE static inline
# elif (defined WIN32 || defined _WIN32 || defined WINCE) && !defined __GNUC__
# define CV_INLINE __inline
# else
# define CV_INLINE static
# endif
#endif
#ifndef CV_EXTERN_C
# ifdef __cplusplus
# define CV_EXTERN_C extern "C"
# else
# define CV_EXTERN_C
# endif
#endif
/* intrinsics support */
#if defined __SSE2__ || defined _M_X64 || (defined _M_IX86_FP && _M_IX86_FP >= 2)
# include "emmintrin.h"
# define CV_SSE 1
# define CV_SSE2 1
# if defined __SSE3__ || (defined _MSC_VER && _MSC_VER >= 1500)
# include "pmmintrin.h"
# define CV_SSE3 1
# endif
# if defined __SSSE3__ || (defined _MSC_VER && _MSC_VER >= 1500)
# include "tmmintrin.h"
# define CV_SSSE3 1
# endif
# if defined __SSE4_1__ || (defined _MSC_VER && _MSC_VER >= 1500)
# include <smmintrin.h>
# define CV_SSE4_1 1
# endif
# if defined __SSE4_2__ || (defined _MSC_VER && _MSC_VER >= 1500)
# include <nmmintrin.h>
# define CV_SSE4_2 1
# endif
# if defined __AVX__ || (defined _MSC_FULL_VER && _MSC_FULL_VER >= 160040219)
// MS Visual Studio 2010 (2012?) has no macro pre-defined to identify the use of /arch:AVX
// See: http://connect.microsoft.com/VisualStudio/feedback/details/605858/arch-avx-should-define-a-predefined-macro-in-x64-and-set-a-unique-value-for-m-ix86-fp-in-win32
# include <immintrin.h>
# define CV_AVX 1
# if defined(_XCR_XFEATURE_ENABLED_MASK)
# define __xgetbv() _xgetbv(_XCR_XFEATURE_ENABLED_MASK)
# else
# define __xgetbv() 0
# endif
# endif
#endif
#ifdef __ARM_NEON__
# include <arm_neon.h>
# define CV_NEON 1
#endif
#ifndef CV_SSE
# define CV_SSE 0
#endif
#ifndef CV_SSE2
# define CV_SSE2 0
#endif
#ifndef CV_SSE3
# define CV_SSE3 0
#endif
#ifndef CV_SSSE3
# define CV_SSSE3 0
#endif
#ifndef CV_SSE4_1
# define CV_SSE4_1 0
#endif
#ifndef CV_SSE4_2
# define CV_SSE4_2 0
#endif
#ifndef CV_AVX
# define CV_AVX 0
#endif
#ifndef CV_NEON
# define CV_NEON 0
#endif
/* primitive types */
/*
schar - signed 1 byte integer
uchar - unsigned 1 byte integer
short - signed 2 byte integer
ushort - unsigned 2 byte integer
int - signed 4 byte integer
uint - unsigned 4 byte integer
int64 - signed 8 byte integer
uint64 - unsigned 8 byte integer
*/
#if !defined _MSC_VER && !defined __BORLANDC__
# include <stdint.h>
#endif
typedef
signed
char
schar
;
#ifndef __IPL_H__
typedef
unsigned
char
uchar
;
typedef
unsigned
short
ushort
;
#endif
#if defined _MSC_VER || defined __BORLANDC__
typedef
__int64
int64
;
typedef
unsigned
__int64
uint64
;
# define CV_BIG_INT(n) n##I64
# define CV_BIG_UINT(n) n##UI64
#else
typedef
int64_t
int64
;
typedef
uint64_t
uint64
;
# define CV_BIG_INT(n) n##LL
# define CV_BIG_UINT(n) n##ULL
#endif
/* special informative macros for wrapper generators */
#define CV_EXPORTS_W CV_EXPORTS
#define CV_EXPORTS_W_SIMPLE CV_EXPORTS
#define CV_EXPORTS_AS(synonym) CV_EXPORTS
#define CV_EXPORTS_W_MAP CV_EXPORTS
#define CV_IN_OUT
#define CV_OUT
#define CV_PROP
#define CV_PROP_RW
#define CV_WRAP
#define CV_WRAP_AS(synonym)
/* fundamental constants */
#define CV_PI 3.1415926535897932384626433832795
#define CV_LOG2 0.69314718055994530941723212145818
/****************************************************************************************\
* Matrix type (Mat) *
\****************************************************************************************/
#define CV_CN_MAX 512
#define CV_CN_SHIFT 3
#define CV_DEPTH_MAX (1 << CV_CN_SHIFT)
#define CV_8U 0
#define CV_8S 1
#define CV_16U 2
#define CV_16S 3
#define CV_32S 4
#define CV_32F 5
#define CV_64F 6
#define CV_USRTYPE1 7
#define CV_MAT_DEPTH_MASK (CV_DEPTH_MAX - 1)
#define CV_MAT_DEPTH(flags) ((flags) & CV_MAT_DEPTH_MASK)
#define CV_MAKETYPE(depth,cn) (CV_MAT_DEPTH(depth) + (((cn)-1) << CV_CN_SHIFT))
#define CV_MAKE_TYPE CV_MAKETYPE
#define CV_8UC1 CV_MAKETYPE(CV_8U,1)
#define CV_8UC2 CV_MAKETYPE(CV_8U,2)
#define CV_8UC3 CV_MAKETYPE(CV_8U,3)
#define CV_8UC4 CV_MAKETYPE(CV_8U,4)
#define CV_8UC(n) CV_MAKETYPE(CV_8U,(n))
#define CV_8SC1 CV_MAKETYPE(CV_8S,1)
#define CV_8SC2 CV_MAKETYPE(CV_8S,2)
#define CV_8SC3 CV_MAKETYPE(CV_8S,3)
#define CV_8SC4 CV_MAKETYPE(CV_8S,4)
#define CV_8SC(n) CV_MAKETYPE(CV_8S,(n))
#define CV_16UC1 CV_MAKETYPE(CV_16U,1)
#define CV_16UC2 CV_MAKETYPE(CV_16U,2)
#define CV_16UC3 CV_MAKETYPE(CV_16U,3)
#define CV_16UC4 CV_MAKETYPE(CV_16U,4)
#define CV_16UC(n) CV_MAKETYPE(CV_16U,(n))
#define CV_16SC1 CV_MAKETYPE(CV_16S,1)
#define CV_16SC2 CV_MAKETYPE(CV_16S,2)
#define CV_16SC3 CV_MAKETYPE(CV_16S,3)
#define CV_16SC4 CV_MAKETYPE(CV_16S,4)
#define CV_16SC(n) CV_MAKETYPE(CV_16S,(n))
#define CV_32SC1 CV_MAKETYPE(CV_32S,1)
#define CV_32SC2 CV_MAKETYPE(CV_32S,2)
#define CV_32SC3 CV_MAKETYPE(CV_32S,3)
#define CV_32SC4 CV_MAKETYPE(CV_32S,4)
#define CV_32SC(n) CV_MAKETYPE(CV_32S,(n))
#define CV_32FC1 CV_MAKETYPE(CV_32F,1)
#define CV_32FC2 CV_MAKETYPE(CV_32F,2)
#define CV_32FC3 CV_MAKETYPE(CV_32F,3)
#define CV_32FC4 CV_MAKETYPE(CV_32F,4)
#define CV_32FC(n) CV_MAKETYPE(CV_32F,(n))
#define CV_64FC1 CV_MAKETYPE(CV_64F,1)
#define CV_64FC2 CV_MAKETYPE(CV_64F,2)
#define CV_64FC3 CV_MAKETYPE(CV_64F,3)
#define CV_64FC4 CV_MAKETYPE(CV_64F,4)
#define CV_64FC(n) CV_MAKETYPE(CV_64F,(n))
#define CV_MAT_CN_MASK ((CV_CN_MAX - 1) << CV_CN_SHIFT)
#define CV_MAT_CN(flags) ((((flags) & CV_MAT_CN_MASK) >> CV_CN_SHIFT) + 1)
#define CV_MAT_TYPE_MASK (CV_DEPTH_MAX*CV_CN_MAX - 1)
#define CV_MAT_TYPE(flags) ((flags) & CV_MAT_TYPE_MASK)
#define CV_MAT_CONT_FLAG_SHIFT 14
#define CV_MAT_CONT_FLAG (1 << CV_MAT_CONT_FLAG_SHIFT)
#define CV_IS_MAT_CONT(flags) ((flags) & CV_MAT_CONT_FLAG)
#define CV_IS_CONT_MAT CV_IS_MAT_CONT
#define CV_SUBMAT_FLAG_SHIFT 15
#define CV_SUBMAT_FLAG (1 << CV_SUBMAT_FLAG_SHIFT)
#define CV_IS_SUBMAT(flags) ((flags) & CV_MAT_SUBMAT_FLAG)
/* Size of each channel item,
0x124489 = 1000 0100 0100 0010 0010 0001 0001 ~ array of sizeof(arr_type_elem) */
#define CV_ELEM_SIZE1(type) \
((((sizeof(size_t)<<28)|0x8442211) >> CV_MAT_DEPTH(type)*4) & 15)
/* 0x3a50 = 11 10 10 01 01 00 00 ~ array of log2(sizeof(arr_type_elem)) */
#define CV_ELEM_SIZE(type) \
(CV_MAT_CN(type) << ((((sizeof(size_t)/4+1)*16384|0x3a50) >> CV_MAT_DEPTH(type)*2) & 3))
/****************************************************************************************\
* fast math *
\****************************************************************************************/
#if defined __BORLANDC__
# include <fastmath.h>
#else
# include <math.h>
#endif
#ifdef HAVE_TEGRA_OPTIMIZATION
# include "tegra_round.hpp"
#endif
CV_INLINE
int
cvRound
(
double
value
)
{
#if (defined _MSC_VER && defined _M_X64) || (defined __GNUC__ && defined __x86_64__ && defined __SSE2__ && !defined __APPLE__)
__m128d
t
=
_mm_set_sd
(
value
);
return
_mm_cvtsd_si32
(
t
);
#elif defined _MSC_VER && defined _M_IX86
int
t
;
__asm
{
fld
value
;
fistp
t
;
}
return
t
;
#elif defined HAVE_LRINT || defined CV_ICC || defined __GNUC__
# ifdef HAVE_TEGRA_OPTIMIZATION
TEGRA_ROUND
(
value
);
# else
return
(
int
)
lrint
(
value
);
# endif
#else
// while this is not IEEE754-compliant rounding, it's usually a good enough approximation
return
(
int
)(
value
+
(
value
>=
0
?
0
.
5
:
-
0
.
5
));
#endif
}
CV_INLINE
int
cvFloor
(
double
value
)
{
#if defined _MSC_VER && defined _M_X64 || (defined __GNUC__ && defined __SSE2__ && !defined __APPLE__)
__m128d
t
=
_mm_set_sd
(
value
);
int
i
=
_mm_cvtsd_si32
(
t
);
return
i
-
_mm_movemask_pd
(
_mm_cmplt_sd
(
t
,
_mm_cvtsi32_sd
(
t
,
i
)));
#elif defined __GNUC__
int
i
=
(
int
)
value
;
return
i
-
(
i
>
value
);
#else
int
i
=
cvRound
(
value
);
float
diff
=
(
float
)(
value
-
i
);
return
i
-
(
diff
<
0
);
#endif
}
CV_INLINE
int
cvCeil
(
double
value
)
{
#if defined _MSC_VER && defined _M_X64 || (defined __GNUC__ && defined __SSE2__&& !defined __APPLE__)
__m128d
t
=
_mm_set_sd
(
value
);
int
i
=
_mm_cvtsd_si32
(
t
);
return
i
+
_mm_movemask_pd
(
_mm_cmplt_sd
(
_mm_cvtsi32_sd
(
t
,
i
),
t
));
#elif defined __GNUC__
int
i
=
(
int
)
value
;
return
i
+
(
i
<
value
);
#else
int
i
=
cvRound
(
value
);
float
diff
=
(
float
)(
i
-
value
);
return
i
+
(
diff
<
0
);
#endif
}
CV_INLINE
int
cvIsNaN
(
double
value
)
{
union
{
uint64
u
;
double
f
;
}
ieee754
;
ieee754
.
f
=
value
;
return
((
unsigned
)(
ieee754
.
u
>>
32
)
&
0x7fffffff
)
+
((
unsigned
)
ieee754
.
u
!=
0
)
>
0x7ff00000
;
}
CV_INLINE
int
cvIsInf
(
double
value
)
{
union
{
uint64
u
;
double
f
;
}
ieee754
;
ieee754
.
f
=
value
;
return
((
unsigned
)(
ieee754
.
u
>>
32
)
&
0x7fffffff
)
==
0x7ff00000
&&
(
unsigned
)
ieee754
.
u
==
0
;
}
/****************************************************************************************\
* exchange-add operation for atomic operations on reference counters *
\****************************************************************************************/
#if defined __INTEL_COMPILER && !(defined WIN32 || defined _WIN32)
// atomic increment on the linux version of the Intel(tm) compiler
# define CV_XADD(addr, delta) (int)_InterlockedExchangeAdd(const_cast<void*>(reinterpret_cast<volatile void*>(addr)), delta)
#elif defined __GNUC__
# if defined __clang__ && __clang_major__ >= 3 && !defined __ANDROID__
# ifdef __ATOMIC_ACQ_REL
# define CV_XADD(addr, delta) __c11_atomic_fetch_add((_Atomic(int)*)(addr), delta, __ATOMIC_ACQ_REL)
# else
# define CV_XADD(addr, delta) __atomic_fetch_add((_Atomic(int)*)(addr), delta, 4)
# endif
# else
# ifdef __ATOMIC_ACQ_REL
// version for gcc >= 4.7
# define CV_XADD(addr, delta) __atomic_fetch_add(addr, delta, __ATOMIC_ACQ_REL)
# else
# define CV_XADD(addr, delta) __sync_fetch_and_add(addr, delta)
# endif
# endif
#elif (defined WIN32 || defined _WIN32 || defined WINCE) && (!defined RC_INVOKED)
# if !defined(_M_AMD64) && !defined(_M_IA64) && !defined(_M_ARM)
CV_EXTERN_C
__declspec
(
dllimport
)
long
__stdcall
InterlockedExchangeAdd
(
long
volatile
*
Addend
,
long
Value
);
# define CV_XADD(addr, delta) (int)InterlockedExchangeAdd((long volatile*)addr, delta)
# else
CV_EXTERN_C
long
_InterlockedExchangeAdd
(
long
volatile
*
Addend
,
long
Value
);
# pragma intrinsic(_InterlockedExchangeAdd)
# define CV_XADD(addr, delta) (int)_InterlockedExchangeAdd((long volatile*)addr, delta)
# endif
#else
CV_INLINE
CV_XADD
(
int
*
addr
,
int
delta
)
{
int
tmp
=
*
addr
;
*
addr
+=
delta
;
return
tmp
;
}
#endif
#endif // __OPENCV_CORE_CVDEF_H__
\ No newline at end of file
modules/core/include/opencv2/core/operations.hpp
浏览文件 @
a1c456b7
...
...
@@ -51,40 +51,6 @@
#ifdef __cplusplus
/////// exchange-add operation for atomic operations on reference counters ///////
#if defined __INTEL_COMPILER && !(defined WIN32 || defined _WIN32)
// atomic increment on the linux version of the Intel(tm) compiler
#define CV_XADD(addr, delta) (int)_InterlockedExchangeAdd(const_cast<void*>(reinterpret_cast<volatile void*>(addr)), delta)
#elif defined __GNUC__
#if defined __clang__ && __clang_major__ >= 3 && !defined __ANDROID__
#ifdef __ATOMIC_ACQ_REL
#define CV_XADD(addr, delta) __c11_atomic_fetch_add((_Atomic(int)*)(addr), delta, __ATOMIC_ACQ_REL)
#else
#define CV_XADD(addr, delta) __atomic_fetch_add((_Atomic(int)*)(addr), delta, 4)
#endif
#else
#ifdef __ATOMIC_ACQ_REL
// version for gcc >= 4.7
#define CV_XADD(addr, delta) __atomic_fetch_add(addr, delta, __ATOMIC_ACQ_REL)
#else
#define CV_XADD(addr, delta) __sync_fetch_and_add(addr, delta)
#endif
#endif
#elif (defined WIN32 || defined _WIN32 || defined WINCE) && (!defined RC_INVOKED)
#if !defined(_M_AMD64) && !defined(_M_IA64) && !defined(_M_ARM)
extern
"C"
__declspec
(
dllimport
)
long
__stdcall
InterlockedExchangeAdd
(
long
volatile
*
Addend
,
long
Value
);
#define CV_XADD(addr, delta) (int)InterlockedExchangeAdd((long volatile*)addr, delta)
#else
extern
"C"
long
_InterlockedExchangeAdd
(
long
volatile
*
Addend
,
long
Value
);
#pragma intrinsic(_InterlockedExchangeAdd)
#define CV_XADD(addr, delta) (int)_InterlockedExchangeAdd((long volatile*)addr, delta)
#endif
#else
static
inline
CV_XADD
(
int
*
addr
,
int
delta
)
{
int
tmp
=
*
addr
;
*
addr
+=
delta
;
return
tmp
;
}
#endif
#include <limits>
#ifdef _MSC_VER
...
...
modules/core/include/opencv2/core/types_c.h
浏览文件 @
a1c456b7
...
...
@@ -43,57 +43,6 @@
#ifndef __OPENCV_CORE_TYPES_H__
#define __OPENCV_CORE_TYPES_H__
#if !defined _CRT_SECURE_NO_DEPRECATE && defined _MSC_VER
# if _MSC_VER > 1300
# define _CRT_SECURE_NO_DEPRECATE
/* to avoid multiple Visual Studio 2005 warnings */
# endif
#endif
#ifndef SKIP_INCLUDES
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#if !defined _MSC_VER && !defined __BORLANDC__
# include <stdint.h>
#endif
#if defined __ICL
# define CV_ICC __ICL
#elif defined __ICC
# define CV_ICC __ICC
#elif defined __ECL
# define CV_ICC __ECL
#elif defined __ECC
# define CV_ICC __ECC
#elif defined __INTEL_COMPILER
# define CV_ICC __INTEL_COMPILER
#endif
#if defined CV_ICC && !defined CV_ENABLE_UNROLLED
# define CV_ENABLE_UNROLLED 0
#else
# define CV_ENABLE_UNROLLED 1
#endif
#if (defined _M_X64 && defined _MSC_VER && _MSC_VER >= 1400) || (__GNUC__ >= 4 && defined __x86_64__)
# if defined WIN32
# include <intrin.h>
# endif
# if defined __SSE2__ || !defined __GNUC__
# include <emmintrin.h>
# endif
#endif
#if defined __BORLANDC__
# include <fastmath.h>
#else
# include <math.h>
#endif
#ifdef HAVE_IPL
# ifndef __IPL_H__
# if defined WIN32 || defined _WIN32
...
...
@@ -106,6 +55,13 @@
# define HAVE_IPL
#endif
#include "opencv2/core/cvdef.h"
#ifndef SKIP_INCLUDES
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#endif // SKIP_INCLUDES
#if defined WIN32 || defined _WIN32
...
...
@@ -116,12 +72,10 @@
# define CV_STDCALL
#endif
#ifndef CV_
EXTERN_C
#ifndef CV_
DEFAULT
# ifdef __cplusplus
# define CV_EXTERN_C extern "C"
# define CV_DEFAULT(val) = val
# else
# define CV_EXTERN_C
# define CV_DEFAULT(val)
# endif
#endif
...
...
@@ -134,60 +88,10 @@
# endif
#endif
#ifndef CV_INLINE
# if defined __cplusplus
# define CV_INLINE inline
# elif (defined WIN32 || defined _WIN32 || defined WINCE) && !defined __GNUC__
# define CV_INLINE __inline
# else
# define CV_INLINE static
# endif
#endif
/* CV_INLINE */
#if (defined WIN32 || defined _WIN32 || defined WINCE) && defined CVAPI_EXPORTS
# define CV_EXPORTS __declspec(dllexport)
#else
# define CV_EXPORTS
#endif
#ifndef CVAPI
# define CVAPI(rettype) CV_EXTERN_C CV_EXPORTS rettype CV_CDECL
#endif
#if defined _MSC_VER || defined __BORLANDC__
typedef
__int64
int64
;
typedef
unsigned
__int64
uint64
;
# define CV_BIG_INT(n) n##I64
# define CV_BIG_UINT(n) n##UI64
#else
typedef
int64_t
int64
;
typedef
uint64_t
uint64
;
# define CV_BIG_INT(n) n##LL
# define CV_BIG_UINT(n) n##ULL
#endif
#ifndef HAVE_IPL
typedef
unsigned
char
uchar
;
typedef
unsigned
short
ushort
;
#endif
typedef
signed
char
schar
;
/* special informative macros for wrapper generators */
#define CV_CARRAY(counter)
#define CV_CUSTOM_CARRAY(args)
#define CV_EXPORTS_W CV_EXPORTS
#define CV_EXPORTS_W_SIMPLE CV_EXPORTS
#define CV_EXPORTS_AS(synonym) CV_EXPORTS
#define CV_EXPORTS_W_MAP CV_EXPORTS
#define CV_IN_OUT
#define CV_OUT
#define CV_PROP
#define CV_PROP_RW
#define CV_WRAP
#define CV_WRAP_AS(synonym)
#define CV_WRAP_DEFAULT(value)
/* CvArr* is used to pass arbitrary
* array-like data structures
* into functions where the particular
...
...
@@ -271,13 +175,6 @@ enum {
* Common macros and inline functions *
\****************************************************************************************/
#ifdef HAVE_TEGRA_OPTIMIZATION
# include "tegra_round.hpp"
#endif
#define CV_PI 3.1415926535897932384626433832795
#define CV_LOG2 0.69314718055994530941723212145818
#define CV_SWAP(a,b,t) ((t) = (a), (a) = (b), (b) = (t))
#ifndef MIN
...
...
@@ -302,88 +199,9 @@ enum {
#define CV_CMP(a,b) (((a) > (b)) - ((a) < (b)))
#define CV_SIGN(a) CV_CMP((a),0)
CV_INLINE
int
cvRound
(
double
value
)
{
#if (defined _MSC_VER && defined _M_X64) || (defined __GNUC__ && defined __x86_64__ && defined __SSE2__ && !defined __APPLE__)
__m128d
t
=
_mm_set_sd
(
value
);
return
_mm_cvtsd_si32
(
t
);
#elif defined _MSC_VER && defined _M_IX86
int
t
;
__asm
{
fld
value
;
fistp
t
;
}
return
t
;
#elif defined HAVE_LRINT || defined CV_ICC || defined __GNUC__
# ifdef HAVE_TEGRA_OPTIMIZATION
TEGRA_ROUND
(
value
);
# else
return
(
int
)
lrint
(
value
);
# endif
#else
// while this is not IEEE754-compliant rounding, it's usually a good enough approximation
return
(
int
)(
value
+
(
value
>=
0
?
0
.
5
:
-
0
.
5
));
#endif
}
#if defined __SSE2__ || (defined _M_IX86_FP && 2 == _M_IX86_FP)
# include "emmintrin.h"
#endif
CV_INLINE
int
cvFloor
(
double
value
)
{
#if defined _MSC_VER && defined _M_X64 || (defined __GNUC__ && defined __SSE2__ && !defined __APPLE__)
__m128d
t
=
_mm_set_sd
(
value
);
int
i
=
_mm_cvtsd_si32
(
t
);
return
i
-
_mm_movemask_pd
(
_mm_cmplt_sd
(
t
,
_mm_cvtsi32_sd
(
t
,
i
)));
#elif defined __GNUC__
int
i
=
(
int
)
value
;
return
i
-
(
i
>
value
);
#else
int
i
=
cvRound
(
value
);
float
diff
=
(
float
)(
value
-
i
);
return
i
-
(
diff
<
0
);
#endif
}
CV_INLINE
int
cvCeil
(
double
value
)
{
#if defined _MSC_VER && defined _M_X64 || (defined __GNUC__ && defined __SSE2__&& !defined __APPLE__)
__m128d
t
=
_mm_set_sd
(
value
);
int
i
=
_mm_cvtsd_si32
(
t
);
return
i
+
_mm_movemask_pd
(
_mm_cmplt_sd
(
_mm_cvtsi32_sd
(
t
,
i
),
t
));
#elif defined __GNUC__
int
i
=
(
int
)
value
;
return
i
+
(
i
<
value
);
#else
int
i
=
cvRound
(
value
);
float
diff
=
(
float
)(
i
-
value
);
return
i
+
(
diff
<
0
);
#endif
}
#define cvInvSqrt(value) ((float)(1./sqrt(value)))
#define cvSqrt(value) ((float)sqrt(value))
CV_INLINE
int
cvIsNaN
(
double
value
)
{
Cv64suf
ieee754
;
ieee754
.
f
=
value
;
return
((
unsigned
)(
ieee754
.
u
>>
32
)
&
0x7fffffff
)
+
((
unsigned
)
ieee754
.
u
!=
0
)
>
0x7ff00000
;
}
CV_INLINE
int
cvIsInf
(
double
value
)
{
Cv64suf
ieee754
;
ieee754
.
f
=
value
;
return
((
unsigned
)(
ieee754
.
u
>>
32
)
&
0x7fffffff
)
==
0x7ff00000
&&
(
unsigned
)
ieee754
.
u
==
0
;
}
/*************** Random number generation *******************/
...
...
@@ -553,82 +371,9 @@ IplConvKernelFP;
* Matrix type (CvMat) *
\****************************************************************************************/
#define CV_CN_MAX 512
#define CV_CN_SHIFT 3
#define CV_DEPTH_MAX (1 << CV_CN_SHIFT)
#define CV_8U 0
#define CV_8S 1
#define CV_16U 2
#define CV_16S 3
#define CV_32S 4
#define CV_32F 5
#define CV_64F 6
#define CV_USRTYPE1 7
#define CV_MAT_DEPTH_MASK (CV_DEPTH_MAX - 1)
#define CV_MAT_DEPTH(flags) ((flags) & CV_MAT_DEPTH_MASK)
#define CV_MAKETYPE(depth,cn) (CV_MAT_DEPTH(depth) + (((cn)-1) << CV_CN_SHIFT))
#define CV_MAKE_TYPE CV_MAKETYPE
#define CV_8UC1 CV_MAKETYPE(CV_8U,1)
#define CV_8UC2 CV_MAKETYPE(CV_8U,2)
#define CV_8UC3 CV_MAKETYPE(CV_8U,3)
#define CV_8UC4 CV_MAKETYPE(CV_8U,4)
#define CV_8UC(n) CV_MAKETYPE(CV_8U,(n))
#define CV_8SC1 CV_MAKETYPE(CV_8S,1)
#define CV_8SC2 CV_MAKETYPE(CV_8S,2)
#define CV_8SC3 CV_MAKETYPE(CV_8S,3)
#define CV_8SC4 CV_MAKETYPE(CV_8S,4)
#define CV_8SC(n) CV_MAKETYPE(CV_8S,(n))
#define CV_16UC1 CV_MAKETYPE(CV_16U,1)
#define CV_16UC2 CV_MAKETYPE(CV_16U,2)
#define CV_16UC3 CV_MAKETYPE(CV_16U,3)
#define CV_16UC4 CV_MAKETYPE(CV_16U,4)
#define CV_16UC(n) CV_MAKETYPE(CV_16U,(n))
#define CV_16SC1 CV_MAKETYPE(CV_16S,1)
#define CV_16SC2 CV_MAKETYPE(CV_16S,2)
#define CV_16SC3 CV_MAKETYPE(CV_16S,3)
#define CV_16SC4 CV_MAKETYPE(CV_16S,4)
#define CV_16SC(n) CV_MAKETYPE(CV_16S,(n))
#define CV_32SC1 CV_MAKETYPE(CV_32S,1)
#define CV_32SC2 CV_MAKETYPE(CV_32S,2)
#define CV_32SC3 CV_MAKETYPE(CV_32S,3)
#define CV_32SC4 CV_MAKETYPE(CV_32S,4)
#define CV_32SC(n) CV_MAKETYPE(CV_32S,(n))
#define CV_32FC1 CV_MAKETYPE(CV_32F,1)
#define CV_32FC2 CV_MAKETYPE(CV_32F,2)
#define CV_32FC3 CV_MAKETYPE(CV_32F,3)
#define CV_32FC4 CV_MAKETYPE(CV_32F,4)
#define CV_32FC(n) CV_MAKETYPE(CV_32F,(n))
#define CV_64FC1 CV_MAKETYPE(CV_64F,1)
#define CV_64FC2 CV_MAKETYPE(CV_64F,2)
#define CV_64FC3 CV_MAKETYPE(CV_64F,3)
#define CV_64FC4 CV_MAKETYPE(CV_64F,4)
#define CV_64FC(n) CV_MAKETYPE(CV_64F,(n))
#define CV_AUTO_STEP 0x7fffffff
#define CV_WHOLE_ARR cvSlice( 0, 0x3fffffff )
#define CV_MAT_CN_MASK ((CV_CN_MAX - 1) << CV_CN_SHIFT)
#define CV_MAT_CN(flags) ((((flags) & CV_MAT_CN_MASK) >> CV_CN_SHIFT) + 1)
#define CV_MAT_TYPE_MASK (CV_DEPTH_MAX*CV_CN_MAX - 1)
#define CV_MAT_TYPE(flags) ((flags) & CV_MAT_TYPE_MASK)
#define CV_MAT_CONT_FLAG_SHIFT 14
#define CV_MAT_CONT_FLAG (1 << CV_MAT_CONT_FLAG_SHIFT)
#define CV_IS_MAT_CONT(flags) ((flags) & CV_MAT_CONT_FLAG)
#define CV_IS_CONT_MAT CV_IS_MAT_CONT
#define CV_SUBMAT_FLAG_SHIFT 15
#define CV_SUBMAT_FLAG (1 << CV_SUBMAT_FLAG_SHIFT)
#define CV_IS_SUBMAT(flags) ((flags) & CV_MAT_SUBMAT_FLAG)
#define CV_MAGIC_MASK 0xFFFF0000
#define CV_MAT_MAGIC_VAL 0x42420000
#define CV_TYPE_NAME_MAT "opencv-matrix"
...
...
@@ -703,15 +448,6 @@ CvMat;
#define CV_IS_MAT_CONST(mat) \
(((mat)->rows|(mat)->cols) == 1)
/* Size of each channel item,
0x124489 = 1000 0100 0100 0010 0010 0001 0001 ~ array of sizeof(arr_type_elem) */
#define CV_ELEM_SIZE1(type) \
((((sizeof(size_t)<<28)|0x8442211) >> CV_MAT_DEPTH(type)*4) & 15)
/* 0x3a50 = 11 10 10 01 01 00 00 ~ array of log2(sizeof(arr_type_elem)) */
#define CV_ELEM_SIZE(type) \
(CV_MAT_CN(type) << ((((sizeof(size_t)/4+1)*16384|0x3a50) >> CV_MAT_DEPTH(type)*2) & 3))
#define IPL2CV_DEPTH(depth) \
((((CV_8U)+(CV_16U<<4)+(CV_32F<<8)+(CV_64F<<16)+(CV_8S<<20)+ \
(CV_16S<<24)+(CV_32S<<28)) >> ((((depth) & 0xF0) >> 2) + \
...
...
modules/imgproc/include/opencv2/imgproc.hpp
浏览文件 @
a1c456b7
...
...
@@ -1103,7 +1103,7 @@ CV_EXPORTS_W Moments moments( InputArray array, bool binaryImage=false );
//! computes 7 Hu invariants from the moments
CV_EXPORTS
void
HuMoments
(
const
Moments
&
moments
,
double
hu
[
7
]
);
CV_EXPORTS_W
void
HuMoments
(
const
Moments
&
m
,
CV_OUT
OutputArray
hu
);
CV_EXPORTS_W
void
HuMoments
(
const
Moments
&
m
,
OutputArray
hu
);
//! type of the template matching operation
enum
{
TM_SQDIFF
=
0
,
TM_SQDIFF_NORMED
=
1
,
TM_CCORR
=
2
,
TM_CCORR_NORMED
=
3
,
TM_CCOEFF
=
4
,
TM_CCOEFF_NORMED
=
5
};
...
...
modules/legacy/src/_vm.h
浏览文件 @
a1c456b7
...
...
@@ -68,8 +68,6 @@ CvStatus icvMakeScanlinesLengths( int* scanlines,
/*=============================== PreWarp section ======================================*/
CV_INLINE
int
icvGetColor
(
uchar
*
valueRGB
);
CvStatus
icvFindRunsInOneImage
(
int
numLines
,
/* number of scanlines */
uchar
*
prewarp
,
/* prewarp image */
...
...
modules/legacy/src/lcm.cpp
浏览文件 @
a1c456b7
...
...
@@ -199,7 +199,7 @@ int _cvNodeMultyplicity(CvVoronoiSite2D* pSite,
// pLCM : in, information about graph
// Returns: pointer to graph node
//F*/
CV_I
MPL
CV_I
NLINE
CvLCMNode
*
_cvCreateLCMNode
(
CvLCM
*
pLCM
);
/*F///////////////////////////////////////////////////////////////////////////////////////
...
...
@@ -211,7 +211,7 @@ CvLCMNode* _cvCreateLCMNode(CvLCM* pLCM);
// pLCM : in, information about graph
// Returns: pointer to graph edge
//F*/
CV_I
MPL
CV_I
NLINE
CvLCMEdge
*
_cvCreateLCMEdge
(
CvLCM
*
pLCM
);
/*F///////////////////////////////////////////////////////////////////////////////////////
...
...
@@ -228,7 +228,7 @@ CvLCMEdge* _cvCreateLCMEdge(CvLCM* pLCM);
// =1, if node is terminal for edge
// Returns:
//F*/
CV_I
MPL
CV_I
NLINE
void
_cvAttachLCMEdgeToLCMNode
(
CvLCMNode
*
LCMNode
,
CvLCMEdge
*
LCMEdge
,
CvLCMEdge
*
&
LCMEdge_prev
,
...
...
@@ -263,7 +263,7 @@ void _cvProjectionPointToSegment(CvPoint2D32f* PointO,
// pLCMCCNData : out
// Returns:
//F*/
CV_I
MPL
CV_I
NLINE
void
_cvPrepareData
(
CvLCMComplexNodeData
*
pLCMCCNData
,
CvLCMData
*
pLCMData
);
...
...
modules/python/src2/hdr_parser.py
浏览文件 @
a1c456b7
...
...
@@ -400,7 +400,7 @@ class CppHeaderParser(object):
# note that we do not strip "static" prefix, which does matter;
# it means class methods, not instance methods
decl_str
=
self
.
batch_replace
(
decl_str
,
[(
"virtual"
,
""
),
(
"static inline"
,
""
),
(
"inline"
,
""
),
\
(
"CV_EXPORTS_W"
,
""
),
(
"CV_EXPORTS"
,
""
),
(
"CV_CDECL"
,
""
),
(
"CV_WRAP "
,
" "
),
(
"
static CV_INLINE"
,
""
),
(
"
CV_INLINE"
,
""
)]).
strip
()
(
"CV_EXPORTS_W"
,
""
),
(
"CV_EXPORTS"
,
""
),
(
"CV_CDECL"
,
""
),
(
"CV_WRAP "
,
" "
),
(
"CV_INLINE"
,
""
)]).
strip
()
static_method
=
False
context
=
top
[
0
]
...
...
modules/softcascade/doc/softcascade_detector.rst
浏览文件 @
a1c456b7
...
...
@@ -43,7 +43,7 @@ Implementation of soft (stageless) cascaded detector. ::
virtual bool load(const FileNode& fileNode);
virtual void read(const FileNode& fileNode);
virtual void detect(InputArray image, InputArray rois, std::vector<Detection>& objects) const;
virtual void detect(InputArray image, InputArray rois,
CV_OUT OutputArray rects, CV_OUT
OutputArray confs) const;
virtual void detect(InputArray image, InputArray rois,
OutputArray rects,
OutputArray confs) const;
}
...
...
@@ -119,7 +119,7 @@ Public interface for of soft (stageless) cascaded detector. ::
public:
virtual ~ChannelFeatureBuilder();
virtual void operator()(InputArray src,
CV_OUT
OutputArray channels) const = 0;
virtual void operator()(InputArray src, OutputArray channels) const = 0;
static cv::Ptr<ChannelFeatureBuilder> create();
};
...
...
modules/softcascade/include/opencv2/softcascade.hpp
浏览文件 @
a1c456b7
...
...
@@ -127,7 +127,7 @@ public:
virtual
~
ChannelFeatureBuilder
();
// apply channels to source frame
CV_WRAP_AS
(
compute
)
virtual
void
operator
()(
InputArray
src
,
CV_OUT
OutputArray
channels
,
cv
::
Size
channelsSize
=
cv
::
Size
())
const
=
0
;
CV_WRAP_AS
(
compute
)
virtual
void
operator
()(
InputArray
src
,
OutputArray
channels
,
cv
::
Size
channelsSize
=
cv
::
Size
())
const
=
0
;
CV_WRAP
virtual
int
totalChannels
()
const
=
0
;
virtual
cv
::
AlgorithmInfo
*
info
()
const
=
0
;
...
...
@@ -170,7 +170,7 @@ public:
// Param rects is an output array of bounding rectangles for detected objects.
// Param confs is an output array of confidence for detected objects. i-th bounding rectangle corresponds i-th confidence.
CV_WRAP
virtual
void
detect
(
InputArray
image
,
InputArray
rois
,
CV_OUT
OutputArray
rects
,
CV_OUT
OutputArray
confs
)
const
;
CV_WRAP
virtual
void
detect
(
InputArray
image
,
InputArray
rois
,
OutputArray
rects
,
OutputArray
confs
)
const
;
private:
void
detectNoRoi
(
const
Mat
&
image
,
std
::
vector
<
Detection
>&
objects
)
const
;
...
...
modules/softcascade/src/integral_channel_builder.cpp
浏览文件 @
a1c456b7
...
...
@@ -55,7 +55,7 @@ public:
virtual
int
totalChannels
()
const
{
return
N_CHANNELS
;
}
virtual
void
operator
()(
cv
::
InputArray
_frame
,
CV_OUT
cv
::
OutputArray
_integrals
,
cv
::
Size
channelsSize
)
const
virtual
void
operator
()(
cv
::
InputArray
_frame
,
cv
::
OutputArray
_integrals
,
cv
::
Size
channelsSize
)
const
{
CV_Assert
(
_frame
.
type
()
==
CV_8UC3
);
...
...
modules/video/include/opencv2/video/tracking.hpp
浏览文件 @
a1c456b7
...
...
@@ -325,7 +325,7 @@ CV_EXPORTS_W int buildOpticalFlowPyramid(InputArray img, OutputArrayOfArrays pyr
//! computes sparse optical flow using multi-scale Lucas-Kanade algorithm
CV_EXPORTS_W
void
calcOpticalFlowPyrLK
(
InputArray
prevImg
,
InputArray
nextImg
,
InputArray
prevPts
,
CV_OUT
InputOutputArray
nextPts
,
InputArray
prevPts
,
InputOutputArray
nextPts
,
OutputArray
status
,
OutputArray
err
,
Size
winSize
=
Size
(
21
,
21
),
int
maxLevel
=
3
,
TermCriteria
criteria
=
TermCriteria
(
TermCriteria
::
COUNT
+
TermCriteria
::
EPS
,
30
,
0.01
),
...
...
@@ -333,7 +333,7 @@ CV_EXPORTS_W void calcOpticalFlowPyrLK( InputArray prevImg, InputArray nextImg,
//! computes dense optical flow using Farneback algorithm
CV_EXPORTS_W
void
calcOpticalFlowFarneback
(
InputArray
prev
,
InputArray
next
,
CV_OUT
InputOutputArray
flow
,
double
pyr_scale
,
int
levels
,
int
winsize
,
InputOutputArray
flow
,
double
pyr_scale
,
int
levels
,
int
winsize
,
int
iterations
,
int
poly_n
,
double
poly_sigma
,
int
flags
);
//! estimates the best-fit Euqcidean, similarity, affine or perspective transformation
...
...
modules/video/src/bgfg_gaussmix2.cpp
浏览文件 @
a1c456b7
...
...
@@ -187,7 +187,7 @@ struct GMM
// shadow detection performed per pixel
// should work for rgb data, could be usefull for gray scale and depth data as well
// See: Prati,Mikic,Trivedi,Cucchiarra,"Detecting Moving Shadows...",IEEE PAMI,2003.
static
CV_INLINE
bool
CV_INLINE
bool
detectShadowGMM
(
const
float
*
data
,
int
nchannels
,
int
nmodes
,
const
GMM
*
gmm
,
const
float
*
mean
,
float
Tb
,
float
TB
,
float
tau
)
...
...
samples/ocl/performance.cpp
浏览文件 @
a1c456b7
...
...
@@ -1031,7 +1031,7 @@ class CascadeClassifier_GPU : public OclCascadeClassifier
{
public:
void
detectMultiScale
(
oclMat
&
image
,
CV_OUT
std
::
vector
<
cv
::
Rect
>&
faces
,
std
::
vector
<
cv
::
Rect
>&
faces
,
double
scaleFactor
=
1.1
,
int
minNeighbors
=
3
,
int
flags
=
0
,
Size
minSize
=
Size
(),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录