Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
a69bd80b
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,发现更多精彩内容 >>
提交
a69bd80b
编写于
7月 13, 2011
作者:
V
Vadim Pisarevsky
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fixed opencv_video tests
上级
6c668dd7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
1 addition
and
61 deletion
+1
-61
modules/video/test/test_main.cpp
modules/video/test/test_main.cpp
+1
-61
未找到文件。
modules/video/test/test_main.cpp
浏览文件 @
a69bd80b
#include "test_precomp.hpp"
//CV_TEST_MAIN("cv")
#if 1
using
namespace
cv
;
int
main
(
int
,
char
**
)
{
Mat
prevImg
=
imread
(
"/Users/vp/work/ocv/opencv_extra/testdata/cv/optflow/rock_1.bmp"
,
0
);
Mat
nextImg
=
imread
(
"/Users/vp/work/ocv/opencv_extra/testdata/cv/optflow/rock_2.bmp"
,
0
);
FileStorage
fs
(
"/Users/vp/work/ocv/opencv_extra/testdata/cv/optflow/lk_prev.dat"
,
FileStorage
::
READ
);
vector
<
Point2f
>
u
,
v
;
Mat
_u
;
fs
[
"points"
]
>>
_u
;
_u
.
reshape
(
2
,
0
).
copyTo
(
u
);
vector
<
uchar
>
status
;
vector
<
float
>
err
;
double
tmin
=
0
;
for
(
int
k
=
0
;
k
<
3
;
k
++
)
{
double
t
=
(
double
)
getTickCount
();
#if 1
calcOpticalFlowPyrLK
(
prevImg
,
nextImg
,
u
,
v
,
status
,
err
,
Size
(
11
,
11
),
5
,
TermCriteria
(
TermCriteria
::
MAX_ITER
+
TermCriteria
::
EPS
,
30
,
0.01
),
100
);
#else
{
CvMat
_prevImg
=
prevImg
;
CvMat
_nextImg
=
nextImg
;
v
.
resize
(
u
.
size
());
status
.
resize
(
u
.
size
());
err
.
resize
(
u
.
size
());
cvCalcOpticalFlowPyrLK
(
&
_prevImg
,
&
_nextImg
,
0
,
0
,
(
CvPoint2D32f
*
)
&
u
[
0
],
(
CvPoint2D32f
*
)
&
v
[
0
],
(
int
)
u
.
size
(),
cvSize
(
21
,
21
),
4
,
(
char
*
)
&
status
[
0
],
&
err
[
0
],
cvTermCriteria
(
CV_TERMCRIT_EPS
+
CV_TERMCRIT_ITER
,
30
,
0.01
),
0
);
}
#endif
t
=
(
double
)
getTickCount
()
-
t
;
tmin
=
k
==
0
?
t
:
std
::
min
(
tmin
,
t
);
}
printf
(
"time = %gms
\n
"
,
tmin
*
1000.
/
getTickFrequency
());
Mat
color
;
cvtColor
(
prevImg
,
color
,
CV_GRAY2BGR
);
for
(
size_t
i
=
0
;
i
<
u
.
size
();
i
++
)
{
Point2f
ui
=
u
[
i
],
vi
=
v
[
i
];
if
(
cvIsNaN
(
v
[
i
].
x
)
||
cvIsNaN
(
v
[
i
].
y
)
||
!
status
[
i
]
)
{
const
float
r
=
2.
f
;
line
(
color
,
Point2f
(
u
[
i
].
x
-
r
,
u
[
i
].
y
-
r
),
Point2f
(
u
[
i
].
x
+
r
,
u
[
i
].
y
+
r
),
Scalar
(
0
,
0
,
255
),
1
);
line
(
color
,
Point2f
(
u
[
i
].
x
-
r
,
u
[
i
].
y
+
r
),
Point2f
(
u
[
i
].
x
+
r
,
u
[
i
].
y
-
r
),
Scalar
(
0
,
0
,
255
),
1
);
continue
;
}
line
(
color
,
ui
,
vi
,
Scalar
(
0
,
255
,
0
),
1
);
}
imshow
(
"flow"
,
color
);
waitKey
();
return
0
;
}
#endif
CV_TEST_MAIN
(
"cv"
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录