Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
c0492755
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,发现更多精彩内容 >>
提交
c0492755
编写于
4月 02, 2017
作者:
A
Alexander Alekhin
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #8502 from tomoaki0705:fixWarningsArrayBound
上级
bbdd8ba0
6ab10fc3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
21 addition
and
24 deletion
+21
-24
modules/imgproc/src/contours.cpp
modules/imgproc/src/contours.cpp
+20
-16
modules/imgproc/src/imgwarp.cpp
modules/imgproc/src/imgwarp.cpp
+1
-8
未找到文件。
modules/imgproc/src/contours.cpp
浏览文件 @
c0492755
...
...
@@ -528,6 +528,7 @@ cvSubstituteContour( CvContourScanner scanner, CvSeq * new_contour )
}
}
static
const
int
MAX_SIZE
=
16
;
/*
marks domain border with +/-<constant> and stores the contour into CvSeq.
...
...
@@ -544,7 +545,7 @@ icvFetchContour( schar *ptr,
int
_method
)
{
const
schar
nbd
=
2
;
int
deltas
[
16
];
int
deltas
[
MAX_SIZE
];
CvSeqWriter
writer
;
schar
*
i0
=
ptr
,
*
i1
,
*
i3
,
*
i4
=
0
;
int
prev_s
=
-
1
,
s
,
s_end
;
...
...
@@ -588,8 +589,9 @@ icvFetchContour( schar *ptr,
for
(
;;
)
{
s_end
=
s
;
s
=
std
::
min
(
s
,
MAX_SIZE
-
1
);
for
(
;;
)
while
(
s
<
MAX_SIZE
-
1
)
{
i4
=
i3
+
deltas
[
++
s
];
if
(
*
i4
!=
0
)
...
...
@@ -654,8 +656,8 @@ icvFetchContour( schar *ptr,
static
int
icvTraceContour
(
schar
*
ptr
,
int
step
,
schar
*
stop_ptr
,
int
is_hole
)
{
int
deltas
[
16
];
schar
*
i0
=
ptr
,
*
i1
,
*
i3
,
*
i4
;
int
deltas
[
MAX_SIZE
];
schar
*
i0
=
ptr
,
*
i1
,
*
i3
,
*
i4
=
NULL
;
int
s
,
s_end
;
/* initialize local state */
...
...
@@ -682,7 +684,8 @@ icvTraceContour( schar *ptr, int step, schar *stop_ptr, int is_hole )
for
(
;;
)
{
for
(
;;
)
s
=
std
::
min
(
s
,
MAX_SIZE
-
1
);
while
(
s
<
MAX_SIZE
-
1
)
{
i4
=
i3
+
deltas
[
++
s
];
if
(
*
i4
!=
0
)
...
...
@@ -709,9 +712,9 @@ icvFetchContourEx( schar* ptr,
int
nbd
,
CvRect
*
_rect
)
{
int
deltas
[
16
];
int
deltas
[
MAX_SIZE
];
CvSeqWriter
writer
;
schar
*
i0
=
ptr
,
*
i1
,
*
i3
,
*
i4
;
schar
*
i0
=
ptr
,
*
i1
,
*
i3
,
*
i4
=
NULL
;
CvRect
rect
;
int
prev_s
=
-
1
,
s
,
s_end
;
int
method
=
_method
-
1
;
...
...
@@ -759,8 +762,9 @@ icvFetchContourEx( schar* ptr,
for
(
;;
)
{
s_end
=
s
;
s
=
std
::
min
(
s
,
MAX_SIZE
-
1
);
for
(
;;
)
while
(
s
<
MAX_SIZE
-
1
)
{
i4
=
i3
+
deltas
[
++
s
];
if
(
*
i4
!=
0
)
...
...
@@ -833,8 +837,8 @@ icvFetchContourEx( schar* ptr,
static
int
icvTraceContour_32s
(
int
*
ptr
,
int
step
,
int
*
stop_ptr
,
int
is_hole
)
{
int
deltas
[
16
];
int
*
i0
=
ptr
,
*
i1
,
*
i3
,
*
i4
;
int
deltas
[
MAX_SIZE
];
int
*
i0
=
ptr
,
*
i1
,
*
i3
,
*
i4
=
NULL
;
int
s
,
s_end
;
const
int
right_flag
=
INT_MIN
;
const
int
new_flag
=
(
int
)((
unsigned
)
INT_MIN
>>
1
);
...
...
@@ -863,8 +867,9 @@ icvTraceContour_32s( int *ptr, int step, int *stop_ptr, int is_hole )
for
(
;;
)
{
s_end
=
s
;
s
=
std
::
min
(
s
,
MAX_SIZE
-
1
);
for
(
;;
)
while
(
s
<
MAX_SIZE
-
1
)
{
i4
=
i3
+
deltas
[
++
s
];
if
(
(
*
i4
&
value_mask
)
==
ccomp_val
)
...
...
@@ -890,7 +895,7 @@ icvFetchContourEx_32s( int* ptr,
int
_method
,
CvRect
*
_rect
)
{
int
deltas
[
16
];
int
deltas
[
MAX_SIZE
];
CvSeqWriter
writer
;
int
*
i0
=
ptr
,
*
i1
,
*
i3
,
*
i4
;
CvRect
rect
;
...
...
@@ -925,7 +930,7 @@ icvFetchContourEx_32s( int* ptr,
s
=
(
s
-
1
)
&
7
;
i1
=
i0
+
deltas
[
s
];
}
while
(
(
*
i1
&
value_mask
)
!=
ccomp_val
&&
s
!=
s_end
);
while
(
(
*
i1
&
value_mask
)
!=
ccomp_val
&&
s
!=
s_end
&&
(
s
<
MAX_SIZE
-
1
)
);
if
(
s
==
s_end
)
/* single pixel domain */
{
...
...
@@ -945,12 +950,11 @@ icvFetchContourEx_32s( int* ptr,
{
s_end
=
s
;
for
(
;;
)
do
{
i4
=
i3
+
deltas
[
++
s
];
if
(
(
*
i4
&
value_mask
)
==
ccomp_val
)
break
;
}
while
(
(
*
i4
&
value_mask
)
!=
ccomp_val
&&
(
s
<
MAX_SIZE
-
1
)
);
s
&=
7
;
/* check "right" bound */
...
...
modules/imgproc/src/imgwarp.cpp
浏览文件 @
c0492755
...
...
@@ -1704,10 +1704,6 @@ public:
CV_Assert
(
ksize
<=
MAX_ESIZE
);
}
#if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Warray-bounds"
#endif
virtual
void
operator
()
(
const
Range
&
range
)
const
{
int
dy
,
cn
=
src
.
channels
();
...
...
@@ -1737,7 +1733,7 @@ public:
int
sy
=
clip
(
sy0
-
ksize2
+
1
+
k
,
0
,
ssize
.
height
);
for
(
k1
=
std
::
max
(
k1
,
k
);
k1
<
ksize
;
k1
++
)
{
if
(
sy
==
prev_sy
[
k1
]
)
// if the sy-th row has been computed already, reuse it.
if
(
k1
<
MAX_ESIZE
&&
sy
==
prev_sy
[
k1
]
)
// if the sy-th row has been computed already, reuse it.
{
if
(
k1
>
k
)
memcpy
(
rows
[
k
],
rows
[
k1
],
bufstep
*
sizeof
(
rows
[
0
][
0
])
);
...
...
@@ -1756,9 +1752,6 @@ public:
vresize
(
(
const
WT
**
)
rows
,
(
T
*
)(
dst
.
data
+
dst
.
step
*
dy
),
beta
,
dsize
.
width
);
}
}
#if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
# pragma GCC diagnostic pop
#endif
private:
Mat
src
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录