Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
07744af7
O
Opencv
项目概览
Greenplum
/
Opencv
大约 1 年 前同步成功
通知
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,发现更多精彩内容 >>
提交
07744af7
编写于
8月 11, 2014
作者:
V
Vadim Pisarevsky
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #3066 from vpisarev:minor_fixes
上级
0f66e275
68305703
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
21 addition
and
10 deletion
+21
-10
modules/video/src/ecc.cpp
modules/video/src/ecc.cpp
+6
-1
modules/video/src/optflowgf.cpp
modules/video/src/optflowgf.cpp
+10
-6
samples/cpp/fback.cpp
samples/cpp/fback.cpp
+5
-3
未找到文件。
modules/video/src/ecc.cpp
浏览文件 @
07744af7
...
...
@@ -297,7 +297,12 @@ static void update_warping_matrix_ECC (Mat& map_matrix, const Mat& update, const
mapPtr
[
5
]
+=
updatePtr
[
7
];
}
if
(
motionType
==
MOTION_EUCLIDEAN
)
{
double
new_theta
=
acos
(
mapPtr
[
0
])
+
updatePtr
[
0
];
double
new_theta
=
updatePtr
[
0
];
if
(
mapPtr
[
3
]
>
0
)
new_theta
+=
acos
(
mapPtr
[
0
]);
if
(
mapPtr
[
3
]
<
0
)
new_theta
-=
acos
(
mapPtr
[
0
]);
mapPtr
[
2
]
+=
updatePtr
[
1
];
mapPtr
[
5
]
+=
updatePtr
[
2
];
...
...
modules/video/src/optflowgf.cpp
浏览文件 @
07744af7
...
...
@@ -43,6 +43,10 @@
#include "precomp.hpp"
#include "opencl_kernels_video.hpp"
#if defined __APPLE__ || defined ANDROID
#define SMALL_LOCALSIZE
#endif
//
// 2D dense optical flow algorithm from the following paper:
// Gunnar Farneback. "Two-Frame Motion Estimation Based on Polynomial Expansion".
...
...
@@ -836,7 +840,7 @@ private:
bool
gaussianBlurOcl
(
const
UMat
&
src
,
int
ksizeHalf
,
UMat
&
dst
)
{
#ifdef
ANDROID
#ifdef
SMALL_LOCALSIZE
size_t
localsize
[
2
]
=
{
128
,
1
};
#else
size_t
localsize
[
2
]
=
{
256
,
1
};
...
...
@@ -863,7 +867,7 @@ private:
bool
gaussianBlur5Ocl
(
const
UMat
&
src
,
int
ksizeHalf
,
UMat
&
dst
)
{
int
height
=
src
.
rows
/
5
;
#ifdef
ANDROID
#ifdef
SMALL_LOCALSIZE
size_t
localsize
[
2
]
=
{
128
,
1
};
#else
size_t
localsize
[
2
]
=
{
256
,
1
};
...
...
@@ -888,7 +892,7 @@ private:
}
bool
polynomialExpansionOcl
(
const
UMat
&
src
,
UMat
&
dst
)
{
#ifdef
ANDROID
#ifdef
SMALL_LOCALSIZE
size_t
localsize
[
2
]
=
{
128
,
1
};
#else
size_t
localsize
[
2
]
=
{
256
,
1
};
...
...
@@ -925,7 +929,7 @@ private:
bool
boxFilter5Ocl
(
const
UMat
&
src
,
int
ksizeHalf
,
UMat
&
dst
)
{
int
height
=
src
.
rows
/
5
;
#ifdef
ANDROID
#ifdef
SMALL_LOCALSIZE
size_t
localsize
[
2
]
=
{
128
,
1
};
#else
size_t
localsize
[
2
]
=
{
256
,
1
};
...
...
@@ -952,7 +956,7 @@ private:
bool
updateFlowOcl
(
const
UMat
&
M
,
UMat
&
flowx
,
UMat
&
flowy
)
{
#ifdef
ANDROID
#ifdef
SMALL_LOCALSIZE
size_t
localsize
[
2
]
=
{
32
,
4
};
#else
size_t
localsize
[
2
]
=
{
32
,
8
};
...
...
@@ -976,7 +980,7 @@ private:
}
bool
updateMatricesOcl
(
const
UMat
&
flowx
,
const
UMat
&
flowy
,
const
UMat
&
R0
,
const
UMat
&
R1
,
UMat
&
M
)
{
#ifdef
ANDROID
#ifdef
SMALL_LOCALSIZE
size_t
localsize
[
2
]
=
{
32
,
4
};
#else
size_t
localsize
[
2
]
=
{
32
,
8
};
...
...
samples/cpp/fback.cpp
浏览文件 @
07744af7
...
...
@@ -37,7 +37,8 @@ int main(int, char**)
if
(
!
cap
.
isOpened
()
)
return
-
1
;
Mat
prevgray
,
gray
,
flow
,
cflow
,
frame
;
Mat
flow
,
cflow
,
frame
;
UMat
gray
,
prevgray
,
uflow
;
namedWindow
(
"flow"
,
1
);
for
(;;)
...
...
@@ -45,10 +46,11 @@ int main(int, char**)
cap
>>
frame
;
cvtColor
(
frame
,
gray
,
COLOR_BGR2GRAY
);
if
(
prevgray
.
data
)
if
(
!
prevgray
.
empty
()
)
{
calcOpticalFlowFarneback
(
prevgray
,
gray
,
flow
,
0.5
,
3
,
15
,
3
,
5
,
1.2
,
0
);
calcOpticalFlowFarneback
(
prevgray
,
gray
,
u
flow
,
0.5
,
3
,
15
,
3
,
5
,
1.2
,
0
);
cvtColor
(
prevgray
,
cflow
,
COLOR_GRAY2BGR
);
uflow
.
copyTo
(
flow
);
drawOptFlowMap
(
flow
,
cflow
,
16
,
1.5
,
Scalar
(
0
,
255
,
0
));
imshow
(
"flow"
,
cflow
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录