Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
b7104fa8
A
apollo
项目概览
Pinoxchio
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apollo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b7104fa8
编写于
7月 18, 2019
作者:
H
Hongyi
提交者:
Calvin Miao
7月 18, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Prediction: implement HSVtoRGB() which is faster than cv::cvtColor() for SemanticMap
上级
53a45702
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
29 addition
and
5 deletion
+29
-5
modules/prediction/common/semantic_map.cc
modules/prediction/common/semantic_map.cc
+29
-5
未找到文件。
modules/prediction/common/semantic_map.cc
浏览文件 @
b7104fa8
...
@@ -177,9 +177,16 @@ void SemanticMap::DrawLanes(const common::PointENU& center_point,
...
@@ -177,9 +177,16 @@ void SemanticMap::DrawLanes(const common::PointENU& center_point,
double
theta
=
atan2
(
segment
.
line_segment
().
point
(
i
+
1
).
y
()
-
double
theta
=
atan2
(
segment
.
line_segment
().
point
(
i
+
1
).
y
()
-
segment
.
line_segment
().
point
(
i
).
y
(),
segment
.
line_segment
().
point
(
i
).
y
(),
segment
.
line_segment
().
point
(
i
+
1
).
x
()
-
segment
.
line_segment
().
point
(
i
+
1
).
x
()
-
segment
.
line_segment
().
point
(
i
).
x
())
/
segment
.
line_segment
().
point
(
i
).
x
());
(
2
*
M_PI
);
double
H
=
theta
>=
0
?
theta
/
(
2
*
M_PI
)
:
theta
/
(
2
*
M_PI
)
+
1
;
double
H
=
theta
>=
0
?
theta
:
theta
+
1
;
// // Original cv::cvtColor() is 4 times slower than HSVtoRGB()
// cv::Mat hsv(1, 1, CV_32FC3, cv::Scalar(H * 360.0, 1.0, 1.0));
// cv::Mat rgb;
// cv::cvtColor(hsv, rgb, cv::COLOR_HSV2RGB);
// cv::Scalar c =
// cv::Scalar(rgb.at<float>(0, 0) * 255, rgb.at<float>(0, 1) * 255,
// rgb.at<float>(0, 2) * 255);
cv
::
line
(
base_img_
,
p0
,
p1
,
HSVtoRGB
(
H
),
4
);
cv
::
line
(
base_img_
,
p0
,
p1
,
HSVtoRGB
(
H
),
4
);
}
}
}
}
...
@@ -213,8 +220,25 @@ void SemanticMap::DrawLanes(const common::PointENU& center_point,
...
@@ -213,8 +220,25 @@ void SemanticMap::DrawLanes(const common::PointENU& center_point,
}
}
cv
::
Scalar
SemanticMap
::
HSVtoRGB
(
double
H
,
double
S
,
double
V
)
{
cv
::
Scalar
SemanticMap
::
HSVtoRGB
(
double
H
,
double
S
,
double
V
)
{
// TODO(Hongyi): implement
int
I
=
static_cast
<
int
>
(
floor
(
H
*
6.0
));
return
cv
::
Scalar
(
255
,
255
,
255
);
double
F
=
H
*
6.0
-
floor
(
H
*
6.0
);
double
M
=
V
*
(
1.0
-
S
);
double
N
=
V
*
(
1.0
-
S
*
F
);
double
K
=
V
*
(
1.0
-
S
*
(
1.0
-
F
));
switch
(
I
)
{
case
0
:
return
cv
::
Scalar
(
V
,
K
,
M
)
*
255.0
;
case
1
:
return
cv
::
Scalar
(
N
,
V
,
M
)
*
255.0
;
case
2
:
return
cv
::
Scalar
(
M
,
V
,
K
)
*
255.0
;
case
3
:
return
cv
::
Scalar
(
M
,
N
,
V
)
*
255.0
;
case
4
:
return
cv
::
Scalar
(
K
,
M
,
V
)
*
255.0
;
default:
return
cv
::
Scalar
(
V
,
M
,
N
)
*
255.0
;
}
}
}
void
SemanticMap
::
DrawRect
(
const
Feature
&
feature
,
const
cv
::
Scalar
&
color
,
void
SemanticMap
::
DrawRect
(
const
Feature
&
feature
,
const
cv
::
Scalar
&
color
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录