Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
df89f30b
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,发现更多精彩内容 >>
提交
df89f30b
编写于
3月 02, 2013
作者:
V
Vadim Pisarevsky
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
removed preset parameter in createStereoBM, updated stereo_match sample
上级
b6efe305
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
38 addition
and
41 deletion
+38
-41
modules/calib3d/include/opencv2/calib3d/calib3d.hpp
modules/calib3d/include/opencv2/calib3d/calib3d.hpp
+3
-6
modules/calib3d/src/compat_stereo.cpp
modules/calib3d/src/compat_stereo.cpp
+2
-3
modules/calib3d/src/stereobm.cpp
modules/calib3d/src/stereobm.cpp
+5
-5
samples/cpp/stereo_match.cpp
samples/cpp/stereo_match.cpp
+28
-27
未找到文件。
modules/calib3d/include/opencv2/calib3d/calib3d.hpp
浏览文件 @
df89f30b
...
...
@@ -677,10 +677,9 @@ public:
OutputArray
disparity
)
=
0
;
};
enum
{
STEREO_DISP_SCALE
=
16
,
STEREO_PREFILTER_NORMALIZED_RESPONSE
=
0
,
STEREO_PREFILTER_XSOBEL
=
1
,
STEREOBM_BASIC_PRESET
=
0
,
STEREOBM_FISH_EYE_PRESET
=
1
,
STEREOBM_NARROW_PRESET
=
2
};
enum
{
STEREO_DISP_SCALE
=
16
,
STEREO_PREFILTER_NORMALIZED_RESPONSE
=
0
,
STEREO_PREFILTER_XSOBEL
=
1
};
CV_EXPORTS
Ptr
<
StereoMatcher
>
createStereoBM
(
int
preset
,
int
numDisparities
=
0
,
int
SADWindowSize
=
21
);
CV_EXPORTS
Ptr
<
StereoMatcher
>
createStereoBM
(
int
numDisparities
=
0
,
int
SADWindowSize
=
21
);
CV_EXPORTS
Ptr
<
StereoMatcher
>
createStereoSGBM
(
int
minDisparity
,
int
numDisparities
,
int
SADWindowSize
,
int
P1
=
0
,
int
P2
=
0
,
int
disp12MaxDiff
=
0
,
...
...
@@ -695,9 +694,7 @@ class CV_EXPORTS_W StereoBM
{
public:
enum
{
PREFILTER_NORMALIZED_RESPONSE
=
0
,
PREFILTER_XSOBEL
=
1
,
BASIC_PRESET
=
STEREOBM_BASIC_PRESET
,
FISH_EYE_PRESET
=
STEREOBM_FISH_EYE_PRESET
,
NARROW_PRESET
=
STEREOBM_NARROW_PRESET
};
BASIC_PRESET
=
0
,
FISH_EYE_PRESET
=
1
,
NARROW_PRESET
=
2
};
//! the default constructor
CV_WRAP
StereoBM
();
...
...
modules/calib3d/src/compat_stereo.cpp
浏览文件 @
df89f30b
...
...
@@ -95,8 +95,7 @@ void cvFindStereoCorrespondenceBM( const CvArr* leftarr, const CvArr* rightarr,
CV_Assert
(
state
!=
0
);
cv
::
Ptr
<
cv
::
StereoMatcher
>
sm
=
cv
::
createStereoBM
(
cv
::
STEREOBM_BASIC_PRESET
,
state
->
numberOfDisparities
,
cv
::
Ptr
<
cv
::
StereoMatcher
>
sm
=
cv
::
createStereoBM
(
state
->
numberOfDisparities
,
state
->
SADWindowSize
);
sm
->
set
(
"preFilterType"
,
state
->
preFilterType
);
sm
->
set
(
"preFilterSize"
,
state
->
preFilterSize
);
...
...
@@ -130,7 +129,7 @@ namespace cv
{
StereoBM
::
StereoBM
()
{
init
(
STEREOBM_
BASIC_PRESET
);
}
{
init
(
BASIC_PRESET
);
}
StereoBM
::
StereoBM
(
int
_preset
,
int
_ndisparities
,
int
_SADWindowSize
)
{
init
(
_preset
,
_ndisparities
,
_SADWindowSize
);
}
...
...
modules/calib3d/src/stereobm.cpp
浏览文件 @
df89f30b
...
...
@@ -54,7 +54,7 @@ namespace cv
struct
StereoBMParams
{
StereoBMParams
(
int
_
preset
=
STEREOBM_BASIC_PRESET
,
int
_
numDisparities
=
64
,
int
_SADWindowSize
=
21
)
StereoBMParams
(
int
_numDisparities
=
64
,
int
_SADWindowSize
=
21
)
{
preFilterType
=
STEREO_PREFILTER_XSOBEL
;
preFilterSize
=
9
;
...
...
@@ -780,9 +780,9 @@ public:
params
=
StereoBMParams
();
}
StereoBMImpl
(
int
_
preset
,
int
_
numDisparities
,
int
_SADWindowSize
)
StereoBMImpl
(
int
_numDisparities
,
int
_SADWindowSize
)
{
params
=
StereoBMParams
(
_
preset
,
_
numDisparities
,
_SADWindowSize
);
params
=
StereoBMParams
(
_numDisparities
,
_SADWindowSize
);
}
void
compute
(
InputArray
leftarr
,
InputArray
rightarr
,
OutputArray
disparr
)
...
...
@@ -927,9 +927,9 @@ CV_INIT_ALGORITHM(StereoBMImpl, "StereoMatcher.BM",
}
cv
::
Ptr
<
cv
::
StereoMatcher
>
cv
::
createStereoBM
(
int
_
preset
,
int
_
numDisparities
,
int
_SADWindowSize
)
cv
::
Ptr
<
cv
::
StereoMatcher
>
cv
::
createStereoBM
(
int
_numDisparities
,
int
_SADWindowSize
)
{
return
new
StereoBMImpl
(
_
preset
,
_
numDisparities
,
_SADWindowSize
);
return
new
StereoBMImpl
(
_numDisparities
,
_SADWindowSize
);
}
/* End of file. */
samples/cpp/stereo_match.cpp
浏览文件 @
df89f30b
...
...
@@ -66,8 +66,8 @@ int main(int argc, char** argv)
bool
no_display
=
false
;
float
scale
=
1.
f
;
StereoBM
bm
;
StereoSGBM
sgbm
;
Ptr
<
StereoMatcher
>
bm
=
createStereoBM
(
16
,
9
)
;
Ptr
<
StereoMatcher
>
sgbm
=
createStereoSGBM
(
0
,
16
,
3
)
;
StereoVar
var
;
for
(
int
i
=
1
;
i
<
argc
;
i
++
)
...
...
@@ -220,32 +220,33 @@ int main(int argc, char** argv)
numberOfDisparities
=
numberOfDisparities
>
0
?
numberOfDisparities
:
((
img_size
.
width
/
8
)
+
15
)
&
-
16
;
bm
.
state
->
roi1
=
roi1
;
bm
.
state
->
roi2
=
roi2
;
bm
.
state
->
preFilterCap
=
31
;
bm
.
state
->
SADWindowSize
=
SADWindowSize
>
0
?
SADWindowSize
:
9
;
bm
.
state
->
minDisparity
=
0
;
bm
.
state
->
numberOfDisparities
=
numberOfDisparities
;
bm
.
state
->
textureThreshold
=
10
;
bm
.
state
->
uniquenessRatio
=
15
;
bm
.
state
->
speckleWindowSize
=
100
;
bm
.
state
->
speckleRange
=
32
;
bm
.
state
->
disp12MaxDiff
=
1
;
sgbm
.
preFilterCap
=
63
;
sgbm
.
SADWindowSize
=
SADWindowSize
>
0
?
SADWindowSize
:
3
;
//bm->set("roi1", roi1);
//bm->set("roi2", roi2);
bm
->
set
(
"preFilterCap"
,
31
);
bm
->
set
(
"SADWindowSize"
,
SADWindowSize
>
0
?
SADWindowSize
:
9
);
bm
->
set
(
"minDisparity"
,
0
);
bm
->
set
(
"numDisparities"
,
numberOfDisparities
);
bm
->
set
(
"textureThreshold"
,
10
);
bm
->
set
(
"uniquenessRatio"
,
15
);
bm
->
set
(
"speckleWindowSize"
,
100
);
bm
->
set
(
"speckleRange"
,
32
);
bm
->
set
(
"disp12MaxDiff"
,
1
);
sgbm
->
set
(
"preFilterCap"
,
63
);
int
sgbmWinSize
=
SADWindowSize
>
0
?
SADWindowSize
:
3
;
sgbm
->
set
(
"SADWindowSize"
,
sgbmWinSize
);
int
cn
=
img1
.
channels
();
sgbm
.
P1
=
8
*
cn
*
sgbm
.
SADWindowSize
*
sgbm
.
SADWindowSize
;
sgbm
.
P2
=
32
*
cn
*
sgbm
.
SADWindowSize
*
sgbm
.
SADWindowSize
;
sgbm
.
minDisparity
=
0
;
sgbm
.
numberOfDisparities
=
numberOfDisparities
;
sgbm
.
uniquenessRatio
=
10
;
sgbm
.
speckleWindowSize
=
bm
.
state
->
speckleWindowSize
;
sgbm
.
speckleRange
=
bm
.
state
->
speckleRange
;
sgbm
.
disp12MaxDiff
=
1
;
sgbm
.
fullDP
=
alg
==
STEREO_HH
;
sgbm
->
set
(
"P1"
,
8
*
cn
*
sgbmWinSize
*
sgbmWinSize
)
;
sgbm
->
set
(
"P2"
,
32
*
cn
*
sgbmWinSize
*
sgbmWinSize
)
;
sgbm
->
set
(
"minDisparity"
,
0
)
;
sgbm
->
set
(
"numDisparities"
,
numberOfDisparities
)
;
sgbm
->
set
(
"uniquenessRatio"
,
10
)
;
sgbm
->
set
(
"speckleWindowSize"
,
100
)
;
sgbm
->
set
(
"speckleRange"
,
32
)
;
sgbm
->
set
(
"disp12MaxDiff"
,
1
)
;
sgbm
->
set
(
"fullDP"
,
alg
==
STEREO_HH
)
;
var
.
levels
=
3
;
// ignored with USE_AUTO_PARAMS
var
.
pyrScale
=
0.5
;
// ignored with USE_AUTO_PARAMS
...
...
@@ -267,12 +268,12 @@ int main(int argc, char** argv)
int64
t
=
getTickCount
();
if
(
alg
==
STEREO_BM
)
bm
(
img1
,
img2
,
disp
);
bm
->
compute
(
img1
,
img2
,
disp
);
else
if
(
alg
==
STEREO_VAR
)
{
var
(
img1
,
img2
,
disp
);
}
else
if
(
alg
==
STEREO_SGBM
||
alg
==
STEREO_HH
)
sgbm
(
img1
,
img2
,
disp
);
sgbm
->
compute
(
img1
,
img2
,
disp
);
t
=
getTickCount
()
-
t
;
printf
(
"Time elapsed: %fms
\n
"
,
t
*
1000
/
getTickFrequency
());
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录