Select Git revision
sandboxConfig.cpp
sandboxConfig.cpp 9.03 KiB
#include "../../inc/sandboxConfig.h"
static int saveConfigIn(char *path, YAML::Node config);
int SandboxConfig::saveAdjustingMatrixInto(char *path, cv::Mat_<float> matrix){
// convert matrix into a one layer vector
YAML::Node vec = YAML::Load("[]");
for (int y = 0; y < matrix.rows; y++){
for (int x = 0; x < matrix.cols; x++){
vec.push_back(matrix.at<float>(y, x));
}
}
YAML::Node val;
val["width"] = matrix.cols;
val["height"] = matrix.rows;
val["matrix"] = vec;
YAML::Node config;
try{
config = YAML::LoadFile(path);
}catch(YAML::BadFile err){
//std::cout << "[Error] No Config File found : " << err.what() << std::endl;
}
config[SCFG_MATRIX] = val;
return saveConfigIn(path, config);
}
int SandboxConfig::saveDistanceToSandboxTopInto(char *path, float distance){
YAML::Node val;
val["distance"] = distance;
YAML::Node config;
try{
config = YAML::LoadFile(path);
}catch(YAML::BadFile err){
//std::cout << "[Error] No Config File found : " << err.what() << std::endl;
}
config[SCFG_DISTANCE] = val;
return saveConfigIn(path, config);
}
int SandboxConfig::saveCroppingMaskInto(char *path, cv::Rect mask){
YAML::Node val;
val["x"] = mask.x;
val["y"] = mask.y;
val["width"] = mask.width;
val["height"] = mask.height;
YAML::Node config;
try{
config = YAML::LoadFile(path);
}catch(YAML::BadFile err){
//std::cout << "[Error] No Config File found : " << err.what() << std::endl;
}
config[SCFG_MASK] = val;