Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
f40b580b
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,发现更多精彩内容 >>
提交
f40b580b
编写于
7月 17, 2015
作者:
S
sbokov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixing StereoSGBM ROI
Now StereoSGBM behaves similarly to StereoBM in terms of ROI handling.
上级
aea41573
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
4 addition
and
4 deletion
+4
-4
modules/calib3d/src/stereosgbm.cpp
modules/calib3d/src/stereosgbm.cpp
+4
-4
未找到文件。
modules/calib3d/src/stereosgbm.cpp
浏览文件 @
f40b580b
...
...
@@ -111,7 +111,7 @@ struct StereoSGBMParams
};
/*
For each pixel row1[x], max(
-
maxD, 0) <= minX <= x < maxX <= width - max(0, -minD),
For each pixel row1[x], max(maxD, 0) <= minX <= x < maxX <= width - max(0, -minD),
and for each disparity minD<=d<maxD the function
computes the cost (cost[(x-minX)*(maxD - minD) + (d - minD)]), depending on the difference between
row1[x] and row2[x-d]. The subpixel algorithm from
...
...
@@ -126,7 +126,7 @@ static void calcPixelCostBT( const Mat& img1, const Mat& img2, int y,
int
tabOfs
,
int
)
{
int
x
,
c
,
width
=
img1
.
cols
,
cn
=
img1
.
channels
();
int
minX1
=
std
::
max
(
-
maxD
,
0
),
maxX1
=
width
+
std
::
min
(
minD
,
0
);
int
minX1
=
std
::
max
(
maxD
,
0
),
maxX1
=
width
+
std
::
min
(
minD
,
0
);
int
minX2
=
std
::
max
(
minX1
-
maxD
,
0
),
maxX2
=
std
::
min
(
maxX1
-
minD
,
width
);
int
D
=
maxD
-
minD
,
width1
=
maxX1
-
minX1
,
width2
=
maxX2
-
minX2
;
const
PixType
*
row1
=
img1
.
ptr
<
PixType
>
(
y
),
*
row2
=
img2
.
ptr
<
PixType
>
(
y
);
...
...
@@ -333,7 +333,7 @@ static void computeDisparitySGBM( const Mat& img1, const Mat& img2,
int
disp12MaxDiff
=
params
.
disp12MaxDiff
>
0
?
params
.
disp12MaxDiff
:
1
;
int
P1
=
params
.
P1
>
0
?
params
.
P1
:
2
,
P2
=
std
::
max
(
params
.
P2
>
0
?
params
.
P2
:
5
,
P1
+
1
);
int
k
,
width
=
disp1
.
cols
,
height
=
disp1
.
rows
;
int
minX1
=
std
::
max
(
-
maxD
,
0
),
maxX1
=
width
+
std
::
min
(
minD
,
0
);
int
minX1
=
std
::
max
(
maxD
,
0
),
maxX1
=
width
+
std
::
min
(
minD
,
0
);
int
D
=
maxD
-
minD
,
width1
=
maxX1
-
minX1
;
int
INVALID_DISP
=
minD
-
1
,
INVALID_DISP_SCALED
=
INVALID_DISP
*
DISP_SCALE
;
int
SW2
=
SADWindowSize
.
width
/
2
,
SH2
=
SADWindowSize
.
height
/
2
;
...
...
@@ -866,7 +866,7 @@ buffers(_buffers), img1(&_img1), img2(&_img2), dst_disp(_dst_disp), clipTab(_cli
width
=
img1
->
cols
;
height
=
img1
->
rows
;
minD
=
params
.
minDisparity
;
maxD
=
minD
+
params
.
numDisparities
;
D
=
maxD
-
minD
;
minX1
=
std
::
max
(
-
maxD
,
0
);
maxX1
=
width
+
std
::
min
(
minD
,
0
);
width1
=
maxX1
-
minX1
;
minX1
=
std
::
max
(
maxD
,
0
);
maxX1
=
width
+
std
::
min
(
minD
,
0
);
width1
=
maxX1
-
minX1
;
CV_Assert
(
D
%
16
==
0
);
SW2
=
SH2
=
params
.
SADWindowSize
>
0
?
params
.
SADWindowSize
/
2
:
1
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录