Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
21409de1
O
Opencv
项目概览
Greenplum
/
Opencv
10 个月 前同步成功
通知
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,发现更多精彩内容 >>
提交
21409de1
编写于
7月 11, 2011
作者:
V
Vadim Pisarevsky
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
optimized sparse LK optical flow (tickets #1062 and #1210)
上级
442f6b41
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
470 addition
and
605 deletion
+470
-605
modules/imgproc/src/utils.cpp
modules/imgproc/src/utils.cpp
+9
-3
modules/video/src/lkpyramid.cpp
modules/video/src/lkpyramid.cpp
+450
-591
modules/video/test/test_optflowpyrlk.cpp
modules/video/test/test_optflowpyrlk.cpp
+11
-11
未找到文件。
modules/imgproc/src/utils.cpp
浏览文件 @
21409de1
...
...
@@ -212,11 +212,17 @@ void cv::copyMakeBorder( InputArray _src, OutputArray _dst, int top, int bottom,
top
,
left
,
(
int
)
src
.
elemSize
(),
borderType
);
else
{
double
buf
[
4
];
scalarToRawData
(
value
,
buf
,
src
.
type
());
int
cn
=
src
.
channels
(),
cn1
=
cn
;
AutoBuffer
<
double
>
buf
(
cn
);
if
(
cn
>
4
)
{
CV_Assert
(
value
[
0
]
==
value
[
1
]
&&
value
[
0
]
==
value
[
2
]
&&
value
[
0
]
==
value
[
3
]
);
cn1
=
1
;
}
scalarToRawData
(
value
,
buf
,
CV_MAKETYPE
(
src
.
depth
(),
cn1
),
cn
);
copyMakeConstBorder_8u
(
src
.
data
,
src
.
step
,
src
.
size
(),
dst
.
data
,
dst
.
step
,
dst
.
size
(),
top
,
left
,
(
int
)
src
.
elemSize
(),
(
uchar
*
)
buf
);
top
,
left
,
(
int
)
src
.
elemSize
(),
(
uchar
*
)
(
double
*
)
buf
);
}
}
...
...
modules/video/src/lkpyramid.cpp
浏览文件 @
21409de1
此差异已折叠。
点击以展开。
modules/video/test/test_optflowpyrlk.cpp
浏览文件 @
21409de1
...
...
@@ -58,8 +58,8 @@ void CV_OptFlowPyrLKTest::run( int )
{
int
code
=
cvtest
::
TS
::
OK
;
const
double
success_error_level
=
0.
2
;
const
int
bad_points_max
=
2
;
const
double
success_error_level
=
0.
3
;
const
int
bad_points_max
=
8
;
/* test parameters */
double
max_err
=
0.
,
sum_err
=
0
;
...
...
@@ -139,7 +139,7 @@ void CV_OptFlowPyrLKTest::run( int )
status
=
(
char
*
)
cvAlloc
(
n
*
sizeof
(
status
[
0
]));
/* calculate flow */
cvCalcOpticalFlowPyrLK
(
imgI
,
imgJ
,
0
,
0
,
u
,
v2
,
n
,
cvSize
(
20
,
20
),
cvCalcOpticalFlowPyrLK
(
imgI
,
imgJ
,
0
,
0
,
u
,
v2
,
n
,
cvSize
(
41
,
41
),
4
,
status
,
0
,
cvTermCriteria
(
CV_TERMCRIT_ITER
|
CV_TERMCRIT_EPS
,
30
,
0.01
f
),
0
);
...
...
@@ -163,14 +163,6 @@ void CV_OptFlowPyrLKTest::run( int )
}
pt_exceed
+=
err
>
success_error_level
;
if
(
pt_exceed
>
bad_points_max
)
{
ts
->
printf
(
cvtest
::
TS
::
LOG
,
"The number of poorly tracked points is too big (>=%d)
\n
"
,
pt_exceed
);
code
=
cvtest
::
TS
::
FAIL_BAD_ACCURACY
;
goto
_exit_
;
}
sum_err
+=
err
;
pt_cmpd
++
;
}
...
...
@@ -186,6 +178,14 @@ void CV_OptFlowPyrLKTest::run( int )
}
}
}
if
(
pt_exceed
>
bad_points_max
)
{
ts
->
printf
(
cvtest
::
TS
::
LOG
,
"The number of poorly tracked points is too big (>=%d)
\n
"
,
pt_exceed
);
code
=
cvtest
::
TS
::
FAIL_BAD_ACCURACY
;
goto
_exit_
;
}
if
(
max_err
>
1
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录