Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
4ecc0232
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,体验更适合开发者的 AI 搜索 >>
提交
4ecc0232
编写于
9月 02, 2015
作者:
A
Alexander Alekhin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
UMat: add perf test for custom ptr
上级
9c3f9578
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
68 addition
and
0 deletion
+68
-0
modules/core/perf/perf_umat.cpp
modules/core/perf/perf_umat.cpp
+68
-0
未找到文件。
modules/core/perf/perf_umat.cpp
0 → 100644
浏览文件 @
4ecc0232
// This file is part of OpenCV project.
// It is subject to the license terms in the LICENSE file found in the top-level directory
// of this distribution and at http://opencv.org/license.html.
#include "perf_precomp.hpp"
#include "opencv2/ts/ocl_perf.hpp"
using
namespace
std
;
using
namespace
cv
;
using
namespace
::
perf
;
using
namespace
::
cvtest
::
ocl
;
using
namespace
::
testing
;
using
std
::
tr1
::
tuple
;
using
std
::
tr1
::
get
;
namespace
{
struct
OpenCLState
{
OpenCLState
(
bool
useOpenCL
)
{
isOpenCL_enabled
=
cv
::
ocl
::
useOpenCL
();
cv
::
ocl
::
setUseOpenCL
(
useOpenCL
);
}
~
OpenCLState
()
{
cv
::
ocl
::
setUseOpenCL
(
isOpenCL_enabled
);
}
private:
bool
isOpenCL_enabled
;
};
typedef
TestBaseWithParam
<
tuple
<
Size
,
bool
,
int
>
>
UMatTest
;
OCL_PERF_TEST_P
(
UMatTest
,
CustomPtr
,
Combine
(
Values
(
sz1080p
,
sz2160p
),
Bool
(),
::
testing
::
Values
(
4
,
64
,
4096
)))
{
OpenCLState
s
(
get
<
1
>
(
GetParam
()));
int
type
=
CV_8UC1
;
cv
::
Size
size
=
get
<
0
>
(
GetParam
());
size_t
align_base
=
4096
;
const
int
align_offset
=
get
<
2
>
(
GetParam
());
void
*
pData_allocated
=
new
unsigned
char
[
size
.
area
()
*
CV_ELEM_SIZE
(
type
)
+
(
align_base
+
align_offset
)];
void
*
pData
=
(
char
*
)
alignPtr
(
pData_allocated
,
(
int
)
align_base
)
+
align_offset
;
size_t
step
=
size
.
width
*
CV_ELEM_SIZE
(
type
);
OCL_TEST_CYCLE
()
{
Mat
m
=
Mat
(
size
,
type
,
pData
,
step
);
m
.
setTo
(
cv
::
Scalar
::
all
(
2
));
UMat
u
=
m
.
getUMat
(
ACCESS_RW
);
cv
::
add
(
u
,
cv
::
Scalar
::
all
(
2
),
u
);
cv
::
add
(
u
,
cv
::
Scalar
::
all
(
3
),
u
);
Mat
d
=
u
.
getMat
(
ACCESS_READ
);
ASSERT_EQ
(
7
,
d
.
at
<
char
>
(
0
,
0
));
}
delete
[]
(
unsigned
char
*
)
pData_allocated
;
SANITY_CHECK_NOTHING
();
}
}
// namespace cvtest
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录