Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
629a06d9
O
Opencv
项目概览
Greenplum
/
Opencv
大约 1 年 前同步成功
通知
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,发现更多精彩内容 >>
提交
629a06d9
编写于
9月 08, 2017
作者:
P
Pavel Rojtberg
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
calib3d: export parameters of CALIB_CB_CLUSTERING
上级
a9effeeb
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
46 addition
and
14 deletion
+46
-14
modules/calib3d/include/opencv2/calib3d.hpp
modules/calib3d/include/opencv2/calib3d.hpp
+14
-0
modules/calib3d/misc/java/gen_dict.json
modules/calib3d/misc/java/gen_dict.json
+2
-1
modules/calib3d/src/calibinit.cpp
modules/calib3d/src/calibinit.cpp
+19
-9
modules/calib3d/src/circlesgrid.cpp
modules/calib3d/src/circlesgrid.cpp
+7
-0
modules/calib3d/src/circlesgrid.hpp
modules/calib3d/src/circlesgrid.hpp
+4
-4
未找到文件。
modules/calib3d/include/opencv2/calib3d.hpp
浏览文件 @
629a06d9
...
...
@@ -783,6 +783,14 @@ struct CV_EXPORTS_W_SIMPLE CirclesGridFinderParameters
GridType
gridType
;
};
struct
CV_EXPORTS_W_SIMPLE
CirclesGridFinderParameters2
:
public
CirclesGridFinderParameters
{
CV_WRAP
CirclesGridFinderParameters2
();
CV_PROP_RW
float
squareSize
;
//!< Distance between two adjacent points. Used by CALIB_CB_CLUSTERING.
CV_PROP_RW
float
maxRectifiedDistance
;
//!< Max deviation from predicion. Used by CALIB_CB_CLUSTERING.
};
/** @brief Finds centers in the grid of circles.
@param image grid view of input circles; it must be an 8-bit grayscale or color image.
...
...
@@ -820,6 +828,12 @@ CV_EXPORTS_W bool findCirclesGrid( InputArray image, Size patternSize,
const
Ptr
<
FeatureDetector
>
&
blobDetector
,
CirclesGridFinderParameters
parameters
);
/** @overload */
CV_EXPORTS_W
bool
findCirclesGrid2
(
InputArray
image
,
Size
patternSize
,
OutputArray
centers
,
int
flags
,
const
Ptr
<
FeatureDetector
>
&
blobDetector
,
CirclesGridFinderParameters2
parameters
);
/** @overload */
CV_EXPORTS_W
bool
findCirclesGrid
(
InputArray
image
,
Size
patternSize
,
OutputArray
centers
,
int
flags
=
CALIB_CB_SYMMETRIC_GRID
,
...
...
modules/calib3d/misc/java/gen_dict.json
浏览文件 @
629a06d9
{
"class_ignore_list"
:
[
"CirclesGridFinderParameters"
"CirclesGridFinderParameters"
,
"CirclesGridFinderParameters2"
],
"missing_consts"
:
{
"Calib3d"
:
{
...
...
modules/calib3d/src/calibinit.cpp
浏览文件 @
629a06d9
...
...
@@ -2094,9 +2094,19 @@ void cv::drawChessboardCorners( InputOutputArray _image, Size patternSize,
nelems
,
patternWasFound
);
}
bool
cv
::
findCirclesGrid
(
InputArray
_image
,
Size
patternSize
,
bool
cv
::
findCirclesGrid
(
InputArray
image
,
Size
patternSize
,
OutputArray
centers
,
int
flags
,
const
Ptr
<
FeatureDetector
>
&
blobDetector
,
CirclesGridFinderParameters
parameters
)
{
CirclesGridFinderParameters2
parameters2
;
*
((
CirclesGridFinderParameters
*
)
&
parameters2
)
=
parameters
;
return
cv
::
findCirclesGrid2
(
image
,
patternSize
,
centers
,
flags
,
blobDetector
,
parameters2
);
}
bool
cv
::
findCirclesGrid2
(
InputArray
_image
,
Size
patternSize
,
OutputArray
_centers
,
int
flags
,
const
Ptr
<
FeatureDetector
>
&
blobDetector
,
CirclesGridFinderParameters
parameters
)
CirclesGridFinderParameters
2
parameters
)
{
CV_INSTRUMENT_REGION
()
...
...
@@ -2115,19 +2125,19 @@ bool cv::findCirclesGrid( InputArray _image, Size patternSize,
points
.
push_back
(
keypoints
[
i
].
pt
);
}
if
(
flags
&
CALIB_CB_ASYMMETRIC_GRID
)
parameters
.
gridType
=
CirclesGridFinderParameters
::
ASYMMETRIC_GRID
;
if
(
flags
&
CALIB_CB_SYMMETRIC_GRID
)
parameters
.
gridType
=
CirclesGridFinderParameters
::
SYMMETRIC_GRID
;
if
(
flags
&
CALIB_CB_CLUSTERING
)
{
CirclesGridClusterFinder
circlesGridClusterFinder
(
isAsymmetricGrid
);
CirclesGridClusterFinder
circlesGridClusterFinder
(
parameters
);
circlesGridClusterFinder
.
findGrid
(
points
,
patternSize
,
centers
);
Mat
(
centers
).
copyTo
(
_centers
);
return
!
centers
.
empty
();
}
if
(
flags
&
CALIB_CB_ASYMMETRIC_GRID
)
parameters
.
gridType
=
CirclesGridFinderParameters
::
ASYMMETRIC_GRID
;
if
(
flags
&
CALIB_CB_SYMMETRIC_GRID
)
parameters
.
gridType
=
CirclesGridFinderParameters
::
SYMMETRIC_GRID
;
const
int
attempts
=
2
;
const
size_t
minHomographyPoints
=
4
;
Mat
H
;
...
...
@@ -2191,7 +2201,7 @@ bool cv::findCirclesGrid( InputArray _image, Size patternSize,
bool
cv
::
findCirclesGrid
(
InputArray
_image
,
Size
patternSize
,
OutputArray
_centers
,
int
flags
,
const
Ptr
<
FeatureDetector
>
&
blobDetector
)
{
return
cv
::
findCirclesGrid
(
_image
,
patternSize
,
_centers
,
flags
,
blobDetector
,
CirclesGridFinderParameters
());
return
cv
::
findCirclesGrid
2
(
_image
,
patternSize
,
_centers
,
flags
,
blobDetector
,
CirclesGridFinderParameters2
());
}
/* End of file. */
modules/calib3d/src/circlesgrid.cpp
浏览文件 @
629a06d9
...
...
@@ -559,6 +559,13 @@ CirclesGridFinderParameters::CirclesGridFinderParameters()
gridType
=
SYMMETRIC_GRID
;
}
CirclesGridFinderParameters2
::
CirclesGridFinderParameters2
()
:
CirclesGridFinderParameters
()
{
squareSize
=
1.0
f
;
maxRectifiedDistance
=
squareSize
/
2.0
f
;
}
CirclesGridFinder
::
CirclesGridFinder
(
Size
_patternSize
,
const
std
::
vector
<
Point2f
>
&
testKeypoints
,
const
CirclesGridFinderParameters
&
_parameters
)
:
patternSize
(
static_cast
<
size_t
>
(
_patternSize
.
width
),
static_cast
<
size_t
>
(
_patternSize
.
height
))
...
...
modules/calib3d/src/circlesgrid.hpp
浏览文件 @
629a06d9
...
...
@@ -56,11 +56,11 @@ class CirclesGridClusterFinder
CirclesGridClusterFinder
&
operator
=
(
const
CirclesGridClusterFinder
&
);
CirclesGridClusterFinder
(
const
CirclesGridClusterFinder
&
);
public:
CirclesGridClusterFinder
(
bool
_isAsymmetricGrid
)
CirclesGridClusterFinder
(
const
cv
::
CirclesGridFinderParameters2
&
parameters
)
{
isAsymmetricGrid
=
_isAsymmetricGrid
;
squareSize
=
1.0
f
;
maxRectifiedDistance
=
(
float
)(
squareSize
/
2.0
)
;
isAsymmetricGrid
=
parameters
.
gridType
==
cv
::
CirclesGridFinderParameters
::
ASYMMETRIC_GRID
;
squareSize
=
parameters
.
squareSize
;
maxRectifiedDistance
=
parameters
.
maxRectifiedDistance
;
}
void
findGrid
(
const
std
::
vector
<
cv
::
Point2f
>
&
points
,
cv
::
Size
patternSize
,
std
::
vector
<
cv
::
Point2f
>&
centers
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录