Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
007593ca
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,发现更多精彩内容 >>
提交
007593ca
编写于
6月 04, 2014
作者:
I
Ilya Lavrenov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
cvtColor - optimized index calculations; usage of build-in functions
上级
6952b90e
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
524 addition
and
392 deletion
+524
-392
modules/imgproc/src/color.cpp
modules/imgproc/src/color.cpp
+5
-13
modules/imgproc/src/opencl/cvtcolor.cl
modules/imgproc/src/opencl/cvtcolor.cl
+516
-376
modules/imgproc/test/ocl/test_color.cpp
modules/imgproc/test/ocl/test_color.cpp
+3
-3
未找到文件。
modules/imgproc/src/color.cpp
浏览文件 @
007593ca
...
...
@@ -2730,8 +2730,6 @@ struct mRGBA2RGBA
#ifdef HAVE_OPENCL
#define DIVUP(total, grain) (((total) + (grain) - 1) / (grain))
static
bool
ocl_cvtColor
(
InputArray
_src
,
OutputArray
_dst
,
int
code
,
int
dcn
)
{
bool
ok
=
false
;
...
...
@@ -2739,23 +2737,17 @@ static bool ocl_cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
Size
sz
=
src
.
size
(),
dstSz
=
sz
;
int
scn
=
src
.
channels
(),
depth
=
src
.
depth
(),
bidx
;
int
dims
=
2
,
stripeSize
=
1
;
size_t
globalsize
[]
=
{
src
.
cols
,
src
.
rows
};
ocl
::
Kernel
k
;
if
(
depth
!=
CV_8U
&&
depth
!=
CV_16U
&&
depth
!=
CV_32F
)
return
false
;
cv
::
String
opts
=
format
(
"-D depth=%d -D scn=%d "
,
depth
,
scn
);
ocl
::
Device
dev
=
ocl
::
Device
::
getDefault
();
int
pxPerWIy
=
1
;
if
(
dev
.
isIntel
()
&&
(
dev
.
type
()
&
ocl
::
Device
::
TYPE_GPU
)
&&
!
(
code
==
CV_BGR2Luv
||
code
==
CV_RGB2Luv
||
code
==
CV_LBGR2Luv
||
code
==
CV_LRGB2Luv
||
code
==
CV_Luv2BGR
||
code
==
CV_Luv2RGB
||
code
==
CV_Luv2LBGR
||
code
==
CV_Luv2LRGB
))
pxPerWIy
=
4
;
globalsize
[
1
]
=
DIVUP
(
globalsize
[
1
],
pxPerWIy
);
opts
+=
format
(
"-D PIX_PER_WI_Y=%d "
,
pxPerWIy
);
int
pxPerWIy
=
dev
.
isIntel
()
&&
(
dev
.
type
()
&
ocl
::
Device
::
TYPE_GPU
)
?
4
:
1
;
size_t
globalsize
[]
=
{
src
.
cols
,
(
src
.
rows
+
pxPerWIy
-
1
)
/
pxPerWIy
};
cv
::
String
opts
=
format
(
"-D depth=%d -D scn=%d -D PIX_PER_WI_Y=%d "
,
depth
,
scn
,
pxPerWIy
);
switch
(
code
)
{
...
...
modules/imgproc/src/opencl/cvtcolor.cl
浏览文件 @
007593ca
此差异已折叠。
点击以展开。
modules/imgproc/test/ocl/test_color.cpp
浏览文件 @
007593ca
...
...
@@ -305,11 +305,11 @@ OCL_TEST_P(CvtColor8u32f, Lab2LRGBA) { performTest(3, 4, CVTCODE(Lab2LRGB), dept
OCL_TEST_P
(
CvtColor8u32f
,
BGR2Luv
)
{
performTest
(
3
,
3
,
CVTCODE
(
BGR2Luv
),
depth
==
CV_8U
?
1
:
1e-2
);
}
OCL_TEST_P
(
CvtColor8u32f
,
RGB2Luv
)
{
performTest
(
3
,
3
,
CVTCODE
(
RGB2Luv
),
depth
==
CV_8U
?
1
:
1e-2
);
}
OCL_TEST_P
(
CvtColor8u32f
,
LBGR2Luv
)
{
performTest
(
3
,
3
,
CVTCODE
(
LBGR2Luv
),
depth
==
CV_8U
?
1
:
4e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
LRGB2Luv
)
{
performTest
(
3
,
3
,
CVTCODE
(
LRGB2Luv
),
depth
==
CV_8U
?
1
:
4
e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
LRGB2Luv
)
{
performTest
(
3
,
3
,
CVTCODE
(
LRGB2Luv
),
depth
==
CV_8U
?
1
:
5
e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
BGRA2Luv
)
{
performTest
(
4
,
3
,
CVTCODE
(
BGR2Luv
),
depth
==
CV_8U
?
1
:
8e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
RGBA2Luv
)
{
performTest
(
4
,
3
,
CVTCODE
(
RGB2Luv
),
depth
==
CV_8U
?
1
:
9e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
LBGRA2Luv
)
{
performTest
(
4
,
3
,
CVTCODE
(
LBGR2Luv
),
depth
==
CV_8U
?
1
:
4
e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
LRGBA2Luv
)
{
performTest
(
4
,
3
,
CVTCODE
(
LRGB2Luv
),
depth
==
CV_8U
?
1
:
4
e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
LBGRA2Luv
)
{
performTest
(
4
,
3
,
CVTCODE
(
LBGR2Luv
),
depth
==
CV_8U
?
1
:
5
e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
LRGBA2Luv
)
{
performTest
(
4
,
3
,
CVTCODE
(
LRGB2Luv
),
depth
==
CV_8U
?
1
:
5
e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
Luv2BGR
)
{
performTest
(
3
,
3
,
CVTCODE
(
Luv2BGR
),
depth
==
CV_8U
?
1
:
7e-5
);
}
OCL_TEST_P
(
CvtColor8u32f
,
Luv2RGB
)
{
performTest
(
3
,
3
,
CVTCODE
(
Luv2RGB
),
depth
==
CV_8U
?
1
:
7e-5
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录