Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
e6d6a3a8
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,发现更多精彩内容 >>
提交
e6d6a3a8
编写于
4月 09, 2014
作者:
A
Andrey Pavlenko
提交者:
OpenCV Buildbot
4月 09, 2014
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #2586 from ilya-lavrenov:ipp_disable
上级
e013f046
e090aa07
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
79 addition
and
36 deletion
+79
-36
modules/core/src/stat.cpp
modules/core/src/stat.cpp
+1
-1
modules/imgproc/src/color.cpp
modules/imgproc/src/color.cpp
+43
-20
modules/imgproc/src/deriv.cpp
modules/imgproc/src/deriv.cpp
+2
-0
modules/imgproc/src/filter.cpp
modules/imgproc/src/filter.cpp
+1
-1
modules/imgproc/src/smooth.cpp
modules/imgproc/src/smooth.cpp
+3
-2
modules/imgproc/test/ocl/test_color.cpp
modules/imgproc/test/ocl/test_color.cpp
+28
-12
modules/imgproc/test/test_precomp.hpp
modules/imgproc/test/test_precomp.hpp
+1
-0
未找到文件。
modules/core/src/stat.cpp
浏览文件 @
e6d6a3a8
...
...
@@ -2031,7 +2031,7 @@ double cv::norm( InputArray _src, int normType, InputArray _mask )
normType
==
NORM_INF
?
(
type
==
CV_8UC1
?
(
ippiMaskNormFuncC1
)
ippiNorm_Inf_8u_C1MR
:
type
==
CV_8SC1
?
(
ippiMaskNormFuncC1
)
ippiNorm_Inf_8s_C1MR
:
type
==
CV_16UC1
?
(
ippiMaskNormFuncC1
)
ippiNorm_Inf_16u_C1MR
:
//
type == CV_16UC1 ? (ippiMaskNormFuncC1)ippiNorm_Inf_16u_C1MR :
type
==
CV_32FC1
?
(
ippiMaskNormFuncC1
)
ippiNorm_Inf_32f_C1MR
:
0
)
:
normType
==
NORM_L1
?
...
...
modules/imgproc/src/color.cpp
浏览文件 @
e6d6a3a8
...
...
@@ -200,12 +200,14 @@ void CvtColorLoop(const Mat& src, Mat& dst, const Cvt& cvt)
}
#if defined (HAVE_IPP) && (IPP_VERSION_MAJOR >= 7)
typedef
IppStatus
(
CV_STDCALL
*
ippiReorderFunc
)(
const
void
*
,
int
,
void
*
,
int
,
IppiSize
,
const
int
*
);
typedef
IppStatus
(
CV_STDCALL
*
ippiGeneralFunc
)(
const
void
*
,
int
,
void
*
,
int
,
IppiSize
);
typedef
IppStatus
(
CV_STDCALL
*
ippiColor2GrayFunc
)(
const
void
*
,
int
,
void
*
,
int
,
IppiSize
,
const
Ipp32f
*
);
template
<
typename
Cvt
>
class
CvtColorIPPLoop_Invoker
:
public
ParallelLoopBody
class
CvtColorIPPLoop_Invoker
:
public
ParallelLoopBody
{
public:
...
...
@@ -251,8 +253,8 @@ bool CvtColorIPPLoopCopy(Mat& src, Mat& dst, const Cvt& cvt)
source
=
temp
;
}
bool
ok
;
parallel_for_
(
Range
(
0
,
source
.
rows
),
CvtColorIPPLoop_Invoker
<
Cvt
>
(
source
,
dst
,
cvt
,
&
ok
),
source
.
total
()
/
(
double
)(
1
<<
16
)
);
//ok = cvt(src.ptr<uchar>(0), (int)src.step[0], dst.ptr<uchar>(0), (int)dst.step[0], src.cols, src.rows
);
parallel_for_
(
Range
(
0
,
source
.
rows
),
CvtColorIPPLoop_Invoker
<
Cvt
>
(
source
,
dst
,
cvt
,
&
ok
),
source
.
total
()
/
(
double
)(
1
<<
16
)
);
return
ok
;
}
...
...
@@ -308,8 +310,8 @@ static ippiReorderFunc ippiSwapChannelsC4RTab[] =
static
ippiColor2GrayFunc
ippiColor2GrayC3Tab
[]
=
{
(
ippiColor2GrayFunc
)
ippiColorToGray_8u_C3C1R
,
0
,
(
ippiColor2GrayFunc
)
ippiColorToGray_16u_C3C1R
,
0
,
0
,
(
ippiColor2GrayFunc
)
ippiColorToGray_32f_C3C1R
,
0
,
0
/*(ippiColor2GrayFunc)ippiColorToGray_8u_C3C1R*/
0
,
0
,
/*(ippiColor2GrayFunc)ippiColorToGray_16u_C3C1R*/
0
,
0
,
0
,
/*(ippiColor2GrayFunc)ippiColorToGray_32f_C3C1R*/
0
,
0
,
0
};
static
ippiColor2GrayFunc
ippiColor2GrayC4Tab
[]
=
...
...
@@ -339,18 +341,18 @@ static ippiGeneralFunc ippiCopyP3C3RTab[] =
static
ippiGeneralFunc
ippiRGB2XYZTab
[]
=
{
(
ippiGeneralFunc
)
ippiRGBToXYZ_8u_C3R
,
0
,
(
ippiGeneralFunc
)
ippiRGBToXYZ_16u_C3R
,
0
,
0
,
(
ippiGeneralFunc
)
ippiRGBToXYZ_32f_C3R
,
0
,
0
0
,
/*(ippiGeneralFunc)ippiRGBToXYZ_32f_C3R*/
0
,
0
,
0
};
static
ippiGeneralFunc
ippiXYZ2RGBTab
[]
=
{
(
ippiGeneralFunc
)
ippiXYZToRGB_8u_C3R
,
0
,
(
ippiGeneralFunc
)
ippiXYZToRGB_16u_C3R
,
0
,
0
,
(
ippiGeneralFunc
)
ippiXYZToRGB_32f_C3R
,
0
,
0
0
,
/*(ippiGeneralFunc)ippiXYZToRGB_32f_C3R*/
0
,
0
,
0
};
static
ippiGeneralFunc
ippiRGB2HSVTab
[]
=
{
(
ippiGeneralFunc
)
ippiRGBToHSV_8u_C3R
,
0
,
(
ippiGeneralFunc
)
ippiRGBToHSV_16u_C3R
,
0
,
/*(ippiGeneralFunc)ippiRGBToHSV_8u_C3R*/
0
,
0
,
/*(ippiGeneralFunc)ippiRGBToHSV_16u_C3R*/
0
,
0
,
0
,
0
,
0
,
0
};
...
...
@@ -377,7 +379,7 @@ struct IPPGeneralFunctor
IPPGeneralFunctor
(
ippiGeneralFunc
_func
)
:
func
(
_func
){}
bool
operator
()(
const
void
*
src
,
int
srcStep
,
void
*
dst
,
int
dstStep
,
int
cols
,
int
rows
)
const
{
return
func
(
src
,
srcStep
,
dst
,
dstStep
,
ippiSize
(
cols
,
rows
))
>=
0
;
return
func
?
func
(
src
,
srcStep
,
dst
,
dstStep
,
ippiSize
(
cols
,
rows
))
>=
0
:
false
;
}
private:
ippiGeneralFunc
func
;
...
...
@@ -394,7 +396,7 @@ struct IPPReorderFunctor
}
bool
operator
()(
const
void
*
src
,
int
srcStep
,
void
*
dst
,
int
dstStep
,
int
cols
,
int
rows
)
const
{
return
func
(
src
,
srcStep
,
dst
,
dstStep
,
ippiSize
(
cols
,
rows
),
order
)
>=
0
;
return
func
?
func
(
src
,
srcStep
,
dst
,
dstStep
,
ippiSize
(
cols
,
rows
),
order
)
>=
0
:
false
;
}
private:
ippiReorderFunc
func
;
...
...
@@ -403,7 +405,8 @@ private:
struct
IPPColor2GrayFunctor
{
IPPColor2GrayFunctor
(
ippiColor2GrayFunc
_func
)
:
func
(
_func
)
IPPColor2GrayFunctor
(
ippiColor2GrayFunc
_func
)
:
func
(
_func
)
{
coeffs
[
0
]
=
0.114
f
;
coeffs
[
1
]
=
0.587
f
;
...
...
@@ -411,7 +414,7 @@ struct IPPColor2GrayFunctor
}
bool
operator
()(
const
void
*
src
,
int
srcStep
,
void
*
dst
,
int
dstStep
,
int
cols
,
int
rows
)
const
{
return
func
(
src
,
srcStep
,
dst
,
dstStep
,
ippiSize
(
cols
,
rows
),
coeffs
)
>=
0
;
return
func
?
func
(
src
,
srcStep
,
dst
,
dstStep
,
ippiSize
(
cols
,
rows
),
coeffs
)
>=
0
:
false
;
}
private:
ippiColor2GrayFunc
func
;
...
...
@@ -420,9 +423,16 @@ private:
struct
IPPGray2BGRFunctor
{
IPPGray2BGRFunctor
(
ippiGeneralFunc
_func
)
:
func
(
_func
){}
IPPGray2BGRFunctor
(
ippiGeneralFunc
_func
)
:
func
(
_func
)
{
}
bool
operator
()(
const
void
*
src
,
int
srcStep
,
void
*
dst
,
int
dstStep
,
int
cols
,
int
rows
)
const
{
if
(
func
==
0
)
return
false
;
const
void
*
srcarray
[
3
]
=
{
src
,
src
,
src
};
return
func
(
srcarray
,
srcStep
,
dst
,
dstStep
,
ippiSize
(
cols
,
rows
))
>=
0
;
}
...
...
@@ -432,9 +442,16 @@ private:
struct
IPPGray2BGRAFunctor
{
IPPGray2BGRAFunctor
(
ippiGeneralFunc
_func1
,
ippiReorderFunc
_func2
,
int
_depth
)
:
func1
(
_func1
),
func2
(
_func2
),
depth
(
_depth
){}
IPPGray2BGRAFunctor
(
ippiGeneralFunc
_func1
,
ippiReorderFunc
_func2
,
int
_depth
)
:
func1
(
_func1
),
func2
(
_func2
),
depth
(
_depth
)
{
}
bool
operator
()(
const
void
*
src
,
int
srcStep
,
void
*
dst
,
int
dstStep
,
int
cols
,
int
rows
)
const
{
if
(
func1
==
0
||
func2
==
0
)
return
false
;
const
void
*
srcarray
[
3
]
=
{
src
,
src
,
src
};
Mat
temp
(
rows
,
cols
,
CV_MAKETYPE
(
depth
,
3
));
if
(
func1
(
srcarray
,
srcStep
,
temp
.
data
,
(
int
)
temp
.
step
[
0
],
ippiSize
(
cols
,
rows
))
<
0
)
...
...
@@ -450,7 +467,8 @@ private:
struct
IPPReorderGeneralFunctor
{
IPPReorderGeneralFunctor
(
ippiReorderFunc
_func1
,
ippiGeneralFunc
_func2
,
int
_order0
,
int
_order1
,
int
_order2
,
int
_depth
)
:
func1
(
_func1
),
func2
(
_func2
),
depth
(
_depth
)
IPPReorderGeneralFunctor
(
ippiReorderFunc
_func1
,
ippiGeneralFunc
_func2
,
int
_order0
,
int
_order1
,
int
_order2
,
int
_depth
)
:
func1
(
_func1
),
func2
(
_func2
),
depth
(
_depth
)
{
order
[
0
]
=
_order0
;
order
[
1
]
=
_order1
;
...
...
@@ -459,6 +477,9 @@ struct IPPReorderGeneralFunctor
}
bool
operator
()(
const
void
*
src
,
int
srcStep
,
void
*
dst
,
int
dstStep
,
int
cols
,
int
rows
)
const
{
if
(
func1
==
0
||
func2
==
0
)
return
false
;
Mat
temp
;
temp
.
create
(
rows
,
cols
,
CV_MAKETYPE
(
depth
,
3
));
if
(
func1
(
src
,
srcStep
,
temp
.
data
,
(
int
)
temp
.
step
[
0
],
ippiSize
(
cols
,
rows
),
order
)
<
0
)
...
...
@@ -474,7 +495,8 @@ private:
struct
IPPGeneralReorderFunctor
{
IPPGeneralReorderFunctor
(
ippiGeneralFunc
_func1
,
ippiReorderFunc
_func2
,
int
_order0
,
int
_order1
,
int
_order2
,
int
_depth
)
:
func1
(
_func1
),
func2
(
_func2
),
depth
(
_depth
)
IPPGeneralReorderFunctor
(
ippiGeneralFunc
_func1
,
ippiReorderFunc
_func2
,
int
_order0
,
int
_order1
,
int
_order2
,
int
_depth
)
:
func1
(
_func1
),
func2
(
_func2
),
depth
(
_depth
)
{
order
[
0
]
=
_order0
;
order
[
1
]
=
_order1
;
...
...
@@ -483,6 +505,9 @@ struct IPPGeneralReorderFunctor
}
bool
operator
()(
const
void
*
src
,
int
srcStep
,
void
*
dst
,
int
dstStep
,
int
cols
,
int
rows
)
const
{
if
(
func1
==
0
||
func2
==
0
)
return
false
;
Mat
temp
;
temp
.
create
(
rows
,
cols
,
CV_MAKETYPE
(
depth
,
3
));
if
(
func1
(
src
,
srcStep
,
temp
.
data
,
(
int
)
temp
.
step
[
0
],
ippiSize
(
cols
,
rows
))
<
0
)
...
...
@@ -495,6 +520,7 @@ private:
int
order
[
4
];
int
depth
;
};
#endif
////////////////// Various 3/4-channel to 3/4-channel RGB transformations /////////////////
...
...
@@ -3317,15 +3343,12 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
dst
=
_dst
.
getMat
();
#if defined (HAVE_IPP) && (IPP_VERSION_MAJOR >= 7)
/*
if
(
code
==
CV_BGR2GRAY
)
{
if
(
CvtColorIPPLoop
(
src
,
dst
,
IPPColor2GrayFunctor
(
ippiColor2GrayC3Tab
[
depth
]))
)
return
;
}
else
*/
if
(
code
==
CV_RGB2GRAY
)
else
if
(
code
==
CV_RGB2GRAY
)
{
if
(
CvtColorIPPLoop
(
src
,
dst
,
IPPGeneralFunctor
(
ippiRGB2GrayC3Tab
[
depth
]))
)
return
;
...
...
modules/imgproc/src/deriv.cpp
浏览文件 @
e6d6a3a8
...
...
@@ -341,6 +341,7 @@ static bool IPPDeriv(const Mat& src, Mat& dst, int ddepth, int dx, int dy, int k
if
(
src
.
type
()
==
CV_32F
&&
dst
.
type
()
==
CV_32F
)
{
#if 0
if ((dx == 1) && (dy == 0))
{
if (0 > ippiFilterSobelNegVertGetBufferSize_32f_C1R(ippiSize(src.cols, src.rows), (IppiMaskSize)(ksize*10+ksize), &bufSize))
...
...
@@ -374,6 +375,7 @@ static bool IPPDeriv(const Mat& src, Mat& dst, int ddepth, int dx, int dy, int k
ippiMulC_32f_C1R((Ipp32f *)dst.data, (int)dst.step, (Ipp32f)scale, (Ipp32f *)dst.data, (int)dst.step, ippiSize(dst.cols*dst.channels(), dst.rows));
return true;
}
#endif
if
((
dx
==
2
)
&&
(
dy
==
0
))
{
...
...
modules/imgproc/src/filter.cpp
浏览文件 @
e6d6a3a8
...
...
@@ -1464,7 +1464,7 @@ private:
int
ippiOperator
(
const
uchar
*
_src
,
uchar
*
_dst
,
int
width
,
int
cn
)
const
{
int
_ksize
=
kernel
.
rows
+
kernel
.
cols
-
1
;
if
((
1
!=
cn
&&
3
!=
cn
)
||
width
<
_ksize
*
8
)
//
if ((1 != cn && 3 != cn) || width < _ksize*8)
return
0
;
const
float
*
src
=
(
const
float
*
)
_src
;
...
...
modules/imgproc/src/smooth.cpp
浏览文件 @
e6d6a3a8
...
...
@@ -2425,13 +2425,14 @@ bilateralFilter_8u( const Mat& src, Mat& dst, int d,
Mat
temp
;
copyMakeBorder
(
src
,
temp
,
radius
,
radius
,
radius
,
radius
,
borderType
);
#if defined HAVE_IPP && (IPP_VERSION_MAJOR >= 7)
#if defined HAVE_IPP && (IPP_VERSION_MAJOR >= 7)
&& 0
if
(
cn
==
1
)
{
bool
ok
;
IPPBilateralFilter_8u_Invoker
body
(
temp
,
dst
,
sigma_color
*
sigma_color
,
sigma_space
*
sigma_space
,
radius
,
&
ok
);
parallel_for_
(
Range
(
0
,
dst
.
rows
),
body
,
dst
.
total
()
/
(
double
)(
1
<<
16
));
if
(
ok
)
return
;
if
(
ok
)
return
;
}
#endif
...
...
modules/imgproc/test/ocl/test_color.cpp
浏览文件 @
e6d6a3a8
...
...
@@ -155,15 +155,23 @@ OCL_TEST_P(CvtColor, YCrCb2BGRA) { performTest(3, 4, CVTCODE(YCrCb2BGR)); }
// RGB <-> XYZ
OCL_TEST_P
(
CvtColor
,
RGB2XYZ
)
{
performTest
(
3
,
3
,
CVTCODE
(
RGB2XYZ
));
}
OCL_TEST_P
(
CvtColor
,
BGR2XYZ
)
{
performTest
(
3
,
3
,
CVTCODE
(
BGR2XYZ
));
}
OCL_TEST_P
(
CvtColor
,
RGBA2XYZ
)
{
performTest
(
4
,
3
,
CVTCODE
(
RGB2XYZ
));
}
OCL_TEST_P
(
CvtColor
,
BGRA2XYZ
)
{
performTest
(
4
,
3
,
CVTCODE
(
BGR2XYZ
));
}
#if IPP_VERSION_X100 > 0
#define IPP_EPS depth <= CV_32S ? 1 : 4e-5
#else
#define IPP_EPS 0
#endif
OCL_TEST_P
(
CvtColor
,
RGB2XYZ
)
{
performTest
(
3
,
3
,
CVTCODE
(
RGB2XYZ
),
IPP_EPS
);
}
OCL_TEST_P
(
CvtColor
,
BGR2XYZ
)
{
performTest
(
3
,
3
,
CVTCODE
(
BGR2XYZ
),
IPP_EPS
);
}
OCL_TEST_P
(
CvtColor
,
RGBA2XYZ
)
{
performTest
(
4
,
3
,
CVTCODE
(
RGB2XYZ
),
IPP_EPS
);
}
OCL_TEST_P
(
CvtColor
,
BGRA2XYZ
)
{
performTest
(
4
,
3
,
CVTCODE
(
BGR2XYZ
),
IPP_EPS
);
}
OCL_TEST_P
(
CvtColor
,
XYZ2RGB
)
{
performTest
(
3
,
3
,
CVTCODE
(
XYZ2RGB
),
IPP_EPS
);
}
OCL_TEST_P
(
CvtColor
,
XYZ2BGR
)
{
performTest
(
3
,
3
,
CVTCODE
(
XYZ2BGR
),
IPP_EPS
);
}
OCL_TEST_P
(
CvtColor
,
XYZ2RGBA
)
{
performTest
(
3
,
4
,
CVTCODE
(
XYZ2RGB
),
IPP_EPS
);
}
OCL_TEST_P
(
CvtColor
,
XYZ2BGRA
)
{
performTest
(
3
,
4
,
CVTCODE
(
XYZ2BGR
),
IPP_EPS
);
}
OCL_TEST_P
(
CvtColor
,
XYZ2RGB
)
{
performTest
(
3
,
3
,
CVTCODE
(
XYZ2RGB
));
}
OCL_TEST_P
(
CvtColor
,
XYZ2BGR
)
{
performTest
(
3
,
3
,
CVTCODE
(
XYZ2BGR
));
}
OCL_TEST_P
(
CvtColor
,
XYZ2RGBA
)
{
performTest
(
3
,
4
,
CVTCODE
(
XYZ2RGB
));
}
OCL_TEST_P
(
CvtColor
,
XYZ2BGRA
)
{
performTest
(
3
,
4
,
CVTCODE
(
XYZ2BGR
));
}
#undef IPP_EPS
// RGB <-> HSV
...
...
@@ -191,15 +199,21 @@ OCL_TEST_P(CvtColor8u32f, HSV2BGRA_FULL) { performTest(3, 4, CVTCODE(HSV2BGR_FUL
// RGB <-> HLS
#if IPP_VERSION_X100 > 0
#define IPP_EPS depth == CV_8U ? 2 : 1e-3
#else
#define IPP_EPS depth == CV_8U ? 1 : 1e-3
#endif
OCL_TEST_P
(
CvtColor8u32f
,
RGB2HLS
)
{
performTest
(
3
,
3
,
CVTCODE
(
RGB2HLS
),
depth
==
CV_8U
?
1
:
1e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
BGR2HLS
)
{
performTest
(
3
,
3
,
CVTCODE
(
BGR2HLS
),
depth
==
CV_8U
?
1
:
1e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
RGBA2HLS
)
{
performTest
(
4
,
3
,
CVTCODE
(
RGB2HLS
),
depth
==
CV_8U
?
1
:
1e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
BGRA2HLS
)
{
performTest
(
4
,
3
,
CVTCODE
(
BGR2HLS
),
depth
==
CV_8U
?
1
:
1e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
RGB2HLS_FULL
)
{
performTest
(
3
,
3
,
CVTCODE
(
RGB2HLS_FULL
),
depth
==
CV_8U
?
1
:
1e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
BGR2HLS_FULL
)
{
performTest
(
3
,
3
,
CVTCODE
(
BGR2HLS_FULL
),
depth
==
CV_8U
?
1
:
1e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
RGBA2HLS_FULL
)
{
performTest
(
4
,
3
,
CVTCODE
(
RGB2HLS_FULL
),
depth
==
CV_8U
?
1
:
1e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
BGRA2HLS_FULL
)
{
performTest
(
4
,
3
,
CVTCODE
(
BGR2HLS_FULL
),
depth
==
CV_8U
?
1
:
1e-3
);
}
OCL_TEST_P
(
CvtColor8u32f
,
RGB2HLS_FULL
)
{
performTest
(
3
,
3
,
CVTCODE
(
RGB2HLS_FULL
),
IPP_EPS
);
}
OCL_TEST_P
(
CvtColor8u32f
,
BGR2HLS_FULL
)
{
performTest
(
3
,
3
,
CVTCODE
(
BGR2HLS_FULL
),
IPP_EPS
);
}
OCL_TEST_P
(
CvtColor8u32f
,
RGBA2HLS_FULL
)
{
performTest
(
4
,
3
,
CVTCODE
(
RGB2HLS_FULL
),
IPP_EPS
);
}
OCL_TEST_P
(
CvtColor8u32f
,
BGRA2HLS_FULL
)
{
performTest
(
4
,
3
,
CVTCODE
(
BGR2HLS_FULL
),
IPP_EPS
);
}
OCL_TEST_P
(
CvtColor8u32f
,
HLS2RGB
)
{
performTest
(
3
,
3
,
CVTCODE
(
HLS2RGB
),
1
);
}
OCL_TEST_P
(
CvtColor8u32f
,
HLS2BGR
)
{
performTest
(
3
,
3
,
CVTCODE
(
HLS2BGR
),
1
);
}
...
...
@@ -211,6 +225,8 @@ OCL_TEST_P(CvtColor8u32f, HLS2BGR_FULL) { performTest(3, 3, CVTCODE(HLS2BGR_FULL
OCL_TEST_P
(
CvtColor8u32f
,
HLS2RGBA_FULL
)
{
performTest
(
3
,
4
,
CVTCODE
(
HLS2RGB_FULL
),
1
);
}
OCL_TEST_P
(
CvtColor8u32f
,
HLS2BGRA_FULL
)
{
performTest
(
3
,
4
,
CVTCODE
(
HLS2BGR_FULL
),
1
);
}
#undef IPP_EPS
// RGB5x5 <-> RGB
typedef
CvtColor
CvtColor8u
;
...
...
modules/imgproc/test/test_precomp.hpp
浏览文件 @
e6d6a3a8
...
...
@@ -11,6 +11,7 @@
#include <iostream>
#include "opencv2/ts.hpp"
#include "opencv2/core/private.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录