yaml-cpp 使用

 yamal-cpp 下载地址:

GitHub - jbeder/yaml-cpp: A YAML parser and emitter in C++

void testYamlLibs()
{
    const std::string yamlFilePath="/home/tc/.../test/config.yaml";
    YAML::Node root=YAML::LoadFile(yamlFilePath);
    YAML::Node config=root["imgs"];
    int height=config["height"].as<int>();
    int width=config["width"].as<int>();
    int channel=config["channel"].as<int>();
    int batch=config["batch"].as<int>();
    std::vector<float>img_mean=config["img_mean"].as<std::vector<float>>();
    std::vector<float>img_std=config["img_std"].as<std::vector<float>>();
    
    std::cout<<"the height of img"<<height<<std::endl;
    for (auto i=0;i<img_mean.size();++i)
    {
        std::cout<<"mean: "<<img_mean[i]<<std::endl;
    }
}

配置文件CMakeLists.txt:

cmake_minimum_required(VERSION 3.5)
project(test02)

set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_CXX_STANDARD 14)
add_compile_options(-std=c++11 -fPIC )

set(YAML_INCLUDE /home/tc/.../includes/yaml-cpp-yaml-cpp-0.7.0/include/)
set(YAML_LIBS /home/tc/.../includes/yaml-cpp-yaml-cpp-0.7.0/build)
include_directories(${YAML_INCLUDE})

link_directories(${YAML_LIBS})
add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} libyaml-cpp.a)
// 注:link_directories()与link_libraries()的混肴

// link_directories()添加的是链接库的路径,然后使用target_link_libraries链接库的名称
// 而link_libraries()直接添加库即可(例:/../../liba.so),须放在add_executable前面

config.yaml

imgs:
    height:  35
    width:   54
    channel: 3
    batch:   1
    img_mean: [ 0.485, 0.456, 0.406 ]
    img_std:  [ 0.229, 0.224, 0.225 ]
    onnx_file:    "/home/.../ghostnet/yaban-model-2021-12-22.onnx"
    engine_file:  "/home/.../ghostnet/ghostnet.trt"

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值