Commit 6a476bee authored by Alexander Alekhin's avatar Alexander Alekhin

Merge pull request #1505 from berak:xphoto_learning_based_color_balance

parents 01dbe00c 6f4012df
...@@ -95,21 +95,19 @@ class LearningBasedWBImpl : public LearningBasedWB ...@@ -95,21 +95,19 @@ class LearningBasedWBImpl : public LearningBasedWB
palette_size = 300; palette_size = 300;
palette_bandwidth = 0.1f; palette_bandwidth = 0.1f;
prediction_thresh = 0.025f; prediction_thresh = 0.025f;
if (path_to_model.empty()) /* try to load model from file */
{ FileStorage fs;
/* use the default model */ if (!path_to_model.empty() && fs.open(path_to_model, FileStorage::READ))
num_trees = _num_trees; {
num_tree_nodes = _num_tree_nodes; if (fs["num_trees"].isReal()) { //workaround for #10506
feature_idx = _feature_idx; double nt = fs["num_trees"];
thresh_vals = _thresh_vals; num_trees = int(nt);
leaf_vals = _leaf_vals; double ntn = fs["num_tree_nodes"];
} num_tree_nodes = int(ntn);
else } else {
{
/* load model from file */
FileStorage fs(path_to_model, 0);
num_trees = fs["num_trees"]; num_trees = fs["num_trees"];
num_tree_nodes = fs["num_tree_nodes"]; num_tree_nodes = fs["num_tree_nodes"];
}
fs["feature_idx"] >> feature_idx_Mat; fs["feature_idx"] >> feature_idx_Mat;
fs["thresh_vals"] >> thresh_vals_Mat; fs["thresh_vals"] >> thresh_vals_Mat;
fs["leaf_vals"] >> leaf_vals_Mat; fs["leaf_vals"] >> leaf_vals_Mat;
...@@ -117,6 +115,15 @@ class LearningBasedWBImpl : public LearningBasedWB ...@@ -117,6 +115,15 @@ class LearningBasedWBImpl : public LearningBasedWB
thresh_vals = thresh_vals_Mat.ptr<float>(); thresh_vals = thresh_vals_Mat.ptr<float>();
leaf_vals = leaf_vals_Mat.ptr<float>(); leaf_vals = leaf_vals_Mat.ptr<float>();
} }
else
{
/* use the default model */
num_trees = _num_trees;
num_tree_nodes = _num_tree_nodes;
feature_idx = _feature_idx;
thresh_vals = _thresh_vals;
leaf_vals = _leaf_vals;
}
} }
int getRangeMaxVal() const { return range_max_val; } int getRangeMaxVal() const { return range_max_val; }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment