CARLA
载入中...
搜索中...
未找到
LibCarla
source
carla
image
CityScapesPalette.h
浏览该文件的文档.
1
// Copyright (c) 2017 Computer Vision Center (CVC) at the Universitat Autonoma
2
// de Barcelona (UAB).
3
//
4
// This work is licensed under the terms of the MIT license.
5
// For a copy, see <https://opensource.org/licenses/MIT>.
6
7
#pragma once
8
9
#include <cstdint>
10
11
namespace
carla
{
12
namespace
image {
13
namespace
detail {
14
15
static
constexpr
16
#if __cplusplus >= 201703L
// 使用C++17标准(如果可用)定义内联函数。如果不是C++17,则忽略内联。
17
inline
18
#endif
19
// 如果修改此颜色映射表,请更新相关文档。
20
uint8_t
CITYSCAPES_PALETTE_MAP
[][3u] = {
///定义一个二维数组 CITYSCAPES_PALETTE_MAP,用于存储城市景观数据集的RGB颜色映射。
21
{ 0u, 0u, 0u},
// 黑色(RGB:0, 0, 0),用于未标记的像素。
22
// 城市景观颜色映射
23
{128u, 64u, 128u},
// 深紫色(RGB:128, 64, 128),用于道路。
24
{244u, 35u, 232u},
// 亮紫色(RGB:244, 35, 232),用于人行道。
25
{ 70u, 70u, 70u},
// 中灰色(RGB:70, 70, 70),用于建筑物。
26
{102u, 102u, 156u},
// 深灰色(RGB:102, 102, 156),用于墙壁。
27
{190u, 153u, 153u},
// 浅棕色(RGB:190, 153, 153),用于栅栏。
28
{153u, 153u, 153u},
// 中灰色(RGB:153, 153, 153),用于电线杆等柱子。
29
{250u, 170u, 30u},
// 橙色(RGB:250, 170, 30),用于交通灯。
30
{220u, 220u, 0u},
// 鲜黄色(RGB:220, 220, 0),用于交通标志。
31
{107u, 142u, 35u},
// 深绿色(RGB:107, 142, 35),用于植被。
32
{152u, 251u, 152u},
// 浅绿色(RGB:152, 251, 152),用于地形。
33
{ 70u, 130u, 180u},
// 浅蓝色(RGB:70, 130, 180),用于天空。
34
{220u, 20u, 60u},
// 深红色(RGB:220, 20, 60),用于行人。
35
{255u, 0u, 0u},
// 鲜红色(RGB:255, 0, 0),用于骑行者。
36
{ 0u, 0u, 142u},
// 深蓝色(RGB:0, 0, 142),用于汽车。
37
{ 0u, 0u, 70u},
// 深蓝色(RGB:0, 0, 70),用于卡车。
38
{ 0u, 60u, 100u},
// 青色(RGB:0, 60, 100),用于公共汽车。
39
{ 0u, 80u, 100u},
// 青色(RGB:0, 80, 100),用于火车。
40
{ 0u, 0u, 230u},
// 亮蓝色(RGB:0, 0, 230),用于摩托车。
41
{119u, 11u, 32u},
// 深棕色(RGB:119, 11, 32),用于自行车。
42
//自定义颜色映射
43
{110u, 190u, 160u},
// 浅绿色(RGB:110, 190, 160),用于静态对象。
44
{170u, 120u, 50u},
// 棕色(RGB:170, 120, 50),用于动态对象。
45
{ 55u, 90u, 80u},
// 深灰色(RGB:55, 90, 80),用于其他对象。
46
{ 45u, 60u, 150u},
// 深青色(RGB:45, 60, 150),用于水域。
47
{157u, 234u, 50u},
// 鲜绿色(RGB:157, 234, 50),用于道路标线。
48
{ 81u, 0u, 81u},
// 深紫色(RGB:81, 0, 81),用于地面。
49
{150u, 100u, 100u},
// 棕色(RGB:150, 100, 100),用于桥梁。
50
{230u, 150u, 140u},
// 浅棕色(RGB:230, 150, 140),用于铁路轨道。
51
{180u, 165u, 180u}
// 浅紫色(RGB:180, 165, 180),用于护栏。
52
};
53
54
}
// namespace detail
55
56
class
CityScapesPalette
{
// 定义 CityScapesPalette 类,用于获取城市景观数据集中不同标签的RGB颜色值。
57
public
:
58
59
static
constexpr
auto
GetNumberOfTags
() {
/// 返回颜色映射表中的标签数量。
60
return
sizeof
(
detail::CITYSCAPES_PALETTE_MAP
) /
61
sizeof
(*
detail::CITYSCAPES_PALETTE_MAP
);
62
}
63
64
/// 根据标签返回对应的RGB颜色值。
65
///
66
///@警告 如果标签大于颜色映射表的大小,会发生溢出。
67
static
constexpr
auto
GetColor
(uint8_t tag) {
68
return
detail::CITYSCAPES_PALETTE_MAP
[tag %
GetNumberOfTags
()];
69
}
70
};
71
72
}
// namespace image
73
}
// namespace carla // 结束命名空间 image 和 carla。
carla::image::CityScapesPalette
Definition
CityScapesPalette.h:56
carla::image::CityScapesPalette::GetColor
static constexpr auto GetColor(uint8_t tag)
根据标签返回对应的RGB颜色值。
Definition
CityScapesPalette.h:67
carla::image::CityScapesPalette::GetNumberOfTags
static constexpr auto GetNumberOfTags()
Definition
CityScapesPalette.h:59
carla::image::detail::CITYSCAPES_PALETTE_MAP
static constexpr uint8_t CITYSCAPES_PALETTE_MAP[][3u]
Definition
CityScapesPalette.h:20
carla
CARLA模拟器的主命名空间。
Definition
Carla.cpp:139
制作者
1.10.0