Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
eccf2fa4
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,发现更多精彩内容 >>
提交
eccf2fa4
编写于
6月 06, 2016
作者:
T
Tomoaki Teshima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
follow other interface
* remove useHW option * update test
上级
b2ad7cd9
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
14 addition
and
11 deletion
+14
-11
modules/core/include/opencv2/core.hpp
modules/core/include/opencv2/core.hpp
+1
-1
modules/core/src/convert.cpp
modules/core/src/convert.cpp
+3
-2
modules/core/test/test_arithm.cpp
modules/core/test/test_arithm.cpp
+10
-8
未找到文件。
modules/core/include/opencv2/core.hpp
浏览文件 @
eccf2fa4
...
...
@@ -533,7 +533,7 @@ CV_16S to represent the bit depth. If the input array is neither of them, it'll
@param dst output array.
@param useHW if possible use HW SIMD instruction to convert
*/
CV_EXPORTS_W
void
convertFp16
(
InputArray
src
,
OutputArray
dst
,
bool
useHW
=
true
);
CV_EXPORTS_W
void
convertFp16
(
InputArray
src
,
OutputArray
dst
);
/** @brief Performs a look-up table transform of an array.
...
...
modules/core/src/convert.cpp
浏览文件 @
eccf2fa4
...
...
@@ -5117,9 +5117,10 @@ void cv::convertScaleAbs( InputArray _src, OutputArray _dst, double alpha, doubl
}
}
void
cv
::
convertFp16
(
InputArray
_src
,
OutputArray
_dst
,
bool
useHW
)
void
cv
::
convertFp16
(
InputArray
_src
,
OutputArray
_dst
)
{
if
(
checkHardwareSupport
(
CV_CPU_FP16
)
==
false
)
bool
useHW
=
true
;
if
(
checkHardwareSupport
(
CV_CPU_FP16
)
==
false
)
{
useHW
=
false
;
}
...
...
modules/core/test/test_arithm.cpp
浏览文件 @
eccf2fa4
...
...
@@ -742,27 +742,29 @@ struct ConvertScaleFp16Op : public BaseElemWiseOp
ConvertScaleFp16Op
()
:
BaseElemWiseOp
(
1
,
FIX_BETA
+
REAL_GAMMA
,
1
,
1
,
Scalar
::
all
(
0
)),
nextRange
(
0
)
{
}
void
op
(
const
vector
<
Mat
>&
src
,
Mat
&
dst
,
const
Mat
&
)
{
convertFp16
(
src
[
0
],
dst
,
true
);
Mat
m
;
convertFp16
(
src
[
0
],
m
);
convertFp16
(
m
,
dst
);
}
void
refop
(
const
vector
<
Mat
>&
src
,
Mat
&
dst
,
const
Mat
&
)
{
c
onvertFp16
(
src
[
0
],
dst
,
false
);
c
vtest
::
copy
(
src
[
0
],
dst
);
}
int
getRandomType
(
RNG
&
)
{
// 0: FP32 -> FP16
// 1: FP16 -> FP32
// 0: FP32 -> FP16
-> FP32
// 1: FP16 -> FP32
-> FP16
int
srctype
=
(
nextRange
&
1
)
==
0
?
CV_32F
:
CV_16S
;
return
srctype
;
}
void
getValueRange
(
int
,
double
&
minval
,
double
&
maxval
)
{
// 0: FP32 -> FP16
// 1: FP16 -> FP32
// 0: FP32 -> FP16
-> FP32
// 1: FP16 -> FP32
-> FP16
if
(
(
nextRange
&
1
)
==
0
)
{
// largest integer number that fp16 can express
maxval
=
65504
.
f
;
// largest integer number that fp16 can express
exactly
maxval
=
2048
.
f
;
minval
=
-
maxval
;
}
else
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录