Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenCV
opencv
提交
3e3d4ad7
O
opencv
项目概览
OpenCV
/
opencv
上一次同步 9 个月
通知
993
Star
71100
Fork
55581
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
3e3d4ad7
编写于
5月 06, 2020
作者:
S
Smirnov Alexey
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix fluid resize operating with zero output size
上级
c722625f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
26 addition
and
6 deletion
+26
-6
modules/gapi/include/opencv2/gapi/core.hpp
modules/gapi/include/opencv2/gapi/core.hpp
+4
-4
modules/gapi/src/backends/fluid/gfluidcore.cpp
modules/gapi/src/backends/fluid/gfluidcore.cpp
+8
-2
modules/gapi/test/cpu/gapi_core_tests_fluid.cpp
modules/gapi/test/cpu/gapi_core_tests_fluid.cpp
+14
-0
未找到文件。
modules/gapi/include/opencv2/gapi/core.hpp
浏览文件 @
3e3d4ad7
...
...
@@ -392,10 +392,10 @@ namespace core {
}
else
{
GAPI_Assert
(
fx
!=
0.
&&
fy
!=
0.
);
return
in
.
withSize
(
Size
(
static_cast
<
int
>
(
round
(
in
.
size
.
width
*
fx
)),
static_cast
<
int
>
(
round
(
in
.
size
.
height
*
fy
))
));
int
outSz_w
=
static_cast
<
int
>
(
round
(
in
.
size
.
width
*
fx
)
);
int
outSz_h
=
static_cast
<
int
>
(
round
(
in
.
size
.
height
*
fy
));
GAPI_Assert
(
outSz_w
>
0
&&
outSz_h
>
0
);
return
in
.
withSize
(
Size
(
outSz_w
,
outSz_h
));
}
}
};
...
...
modules/gapi/src/backends/fluid/gfluidcore.cpp
浏览文件 @
3e3d4ad7
...
...
@@ -2030,10 +2030,16 @@ GAPI_FLUID_KERNEL(GFluidResize, cv::gapi::core::GResize, true)
}
static
void
initScratch
(
const
cv
::
GMatDesc
&
in
,
cv
::
Size
outSz
,
double
/*fx*/
,
double
/*fy*/
,
int
/*interp*/
,
cv
::
Size
outSz
,
double
fx
,
double
fy
,
int
/*interp*/
,
cv
::
gapi
::
fluid
::
Buffer
&
scratch
)
{
CV_Assert
(
in
.
depth
==
CV_8U
&&
in
.
chan
==
3
);
GAPI_Assert
(
in
.
depth
==
CV_8U
&&
in
.
chan
==
3
);
if
(
outSz
.
area
()
==
0
)
{
outSz
.
width
=
static_cast
<
int
>
(
round
(
in
.
size
.
width
*
fx
));
outSz
.
height
=
static_cast
<
int
>
(
round
(
in
.
size
.
height
*
fy
));
}
cv
::
Size
scratch_size
{
static_cast
<
int
>
(
outSz
.
width
*
sizeof
(
ResizeUnit
)),
1
};
...
...
modules/gapi/test/cpu/gapi_core_tests_fluid.cpp
浏览文件 @
3e3d4ad7
...
...
@@ -354,6 +354,20 @@ INSTANTIATE_TEST_CASE_P(ResizeTestFluid, ResizeTest,
cv
::
Size
(
64
,
64
),
cv
::
Size
(
30
,
30
))));
INSTANTIATE_TEST_CASE_P
(
ResizeTestFxFyFluid
,
ResizeTestFxFy
,
Combine
(
Values
(
CV_8UC3
/*CV_8UC1, CV_16UC1, CV_16SC1*/
),
Values
(
cv
::
Size
(
1280
,
720
),
cv
::
Size
(
640
,
480
),
cv
::
Size
(
128
,
128
),
cv
::
Size
(
64
,
64
),
cv
::
Size
(
30
,
30
)),
Values
(
-
1
),
Values
(
CORE_FLUID
),
Values
(
AbsExact
().
to_compare_obj
()),
Values
(
/*cv::INTER_NEAREST,*/
cv
::
INTER_LINEAR
/*, cv::INTER_AREA*/
),
Values
(
0.5
,
1
,
2
),
Values
(
0.5
,
1
,
2
)));
INSTANTIATE_TEST_CASE_P
(
BackendOutputAllocationTestFluid
,
BackendOutputAllocationTest
,
Combine
(
Values
(
CV_8UC3
,
CV_16SC2
,
CV_32FC1
),
Values
(
cv
::
Size
(
50
,
50
)),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录