add spc version in img.params

This commit is contained in:
Kalman 2018-09-20 16:52:08 +08:00
parent 13e9a89b59
commit 30332a80de
4 changed files with 15 additions and 13 deletions

View File

@ -102,9 +102,9 @@ void CheckSpecVersion(const Version *spec_version) {
LOG(FATAL) << "Spec version must be specified"; LOG(FATAL) << "Spec version must be specified";
} }
std::vector<std::string> spec_versions{"1.0"}; std::vector<std::string> spec_versions{"1.0", "1.1"};
for (auto &&spec_ver : spec_versions) { for (auto &&spec_ver : spec_versions) {
if (*spec_version >= Version(spec_ver)) { if (*spec_version == Version(spec_ver)) {
return; // supported return; // supported
} }
} }

View File

@ -1,6 +1,6 @@
%YAML:1.0 %YAML:1.0
--- ---
version: 1.1 version: "1.1"
in_left_map: in_left_map:
- -
width: 640 width: 640

View File

@ -191,7 +191,8 @@ bool DeviceWriter::SaveDeviceInfo(
} }
bool DeviceWriter::SaveImgParams( bool DeviceWriter::SaveImgParams(
const img_params_t &params, const std::string &filepath) { const dev_info_t &info, const img_params_t &params,
const std::string &filepath) {
using FileStorage = cv::FileStorage; using FileStorage = cv::FileStorage;
FileStorage fs(filepath, FileStorage::WRITE); FileStorage fs(filepath, FileStorage::WRITE);
if (!fs.isOpened()) { if (!fs.isOpened()) {
@ -200,8 +201,9 @@ bool DeviceWriter::SaveImgParams(
} }
if (params.in_left_map.size() == params.in_right_map.size()) { if (params.in_left_map.size() == params.in_right_map.size()) {
fs << "in_left_map" << params.in_left_map << "in_right_map" fs << "version" << info.spec_version.to_string() << "in_left_map"
<< params.in_right_map << "ex_left_to_right" << params.ex_left_to_right; << params.in_left_map << "in_right_map" << params.in_right_map
<< "ex_left_to_right" << params.ex_left_to_right;
fs.release(); fs.release();
return true; return true;
} else { } else {
@ -229,7 +231,8 @@ void DeviceWriter::SaveAllInfos(const std::string &dir) {
LOG(FATAL) << "Create directory failed: " << dir; LOG(FATAL) << "Create directory failed: " << dir;
} }
SaveDeviceInfo(*device_->GetInfo(), dir + OS_SEP "device.info"); SaveDeviceInfo(*device_->GetInfo(), dir + OS_SEP "device.info");
SaveImgParams(device_->GetImgParams(), dir + OS_SEP "img.params"); SaveImgParams(
*device_->GetInfo(), device_->GetImgParams(), dir + OS_SEP "img.params");
auto &&m_in = device_->GetMotionIntrinsics(); auto &&m_in = device_->GetMotionIntrinsics();
SaveImuParams( SaveImuParams(
{ {
@ -344,7 +347,6 @@ DeviceWriter::img_params_t DeviceWriter::LoadImgParams(
img_params_t params; img_params_t params;
if (fs["version"].isNone()) { if (fs["version"].isNone()) {
if (fs["in_left"].isNone()) { if (fs["in_left"].isNone()) {
LOG(INFO) << "static_cast<double>(fs[version]) == 0.1";
std::uint16_t w = 752; std::uint16_t w = 752;
std::uint16_t h = 480; std::uint16_t h = 480;
std::uint8_t m = 0; std::uint8_t m = 0;
@ -374,14 +376,12 @@ DeviceWriter::img_params_t DeviceWriter::LoadImgParams(
fs["ex_left_to_right"] >> params.ex_left_to_right; fs["ex_left_to_right"] >> params.ex_left_to_right;
} }
} else { } else {
if (static_cast<double>(fs["version"]) == 1.0) { if (static_cast<std::string>(fs["version"]) == "1.0") {
LOG(INFO) << "static_cast<double>(fs[version]) == 1.0";
fs["in_left_map"][0] >> params.in_left_map[Resolution::RES_752x480]; fs["in_left_map"][0] >> params.in_left_map[Resolution::RES_752x480];
fs["in_right_map"][0] >> params.in_right_map[Resolution::RES_752x480]; fs["in_right_map"][0] >> params.in_right_map[Resolution::RES_752x480];
fs["ex_left_to_right"] >> params.ex_left_to_right; fs["ex_left_to_right"] >> params.ex_left_to_right;
} }
if (static_cast<double>(fs["version"]) == 1.1) { if (static_cast<std::string>(fs["version"]) == "1.1") {
LOG(INFO) << "static_cast<double>(fs[version]) == 1.1";
fs["in_left_map"][0] >> params.in_left_map[Resolution::RES_1280x400]; fs["in_left_map"][0] >> params.in_left_map[Resolution::RES_1280x400];
fs["in_left_map"][1] >> params.in_left_map[Resolution::RES_2560x800]; fs["in_left_map"][1] >> params.in_left_map[Resolution::RES_2560x800];
fs["in_right_map"][0] >> params.in_right_map[Resolution::RES_1280x400]; fs["in_right_map"][0] >> params.in_right_map[Resolution::RES_1280x400];

View File

@ -48,7 +48,9 @@ class DeviceWriter {
bool WriteImuParams(const std::string &filepath); bool WriteImuParams(const std::string &filepath);
bool SaveDeviceInfo(const dev_info_t &info, const std::string &filepath); bool SaveDeviceInfo(const dev_info_t &info, const std::string &filepath);
bool SaveImgParams(const img_params_t &params, const std::string &filepath); bool SaveImgParams(
const dev_info_t &info, const img_params_t &params,
const std::string &filepath);
bool SaveImuParams(const imu_params_t &params, const std::string &filepath); bool SaveImuParams(const imu_params_t &params, const std::string &filepath);
/** Save all infos of this device */ /** Save all infos of this device */