cunetでノイズ除去用の設定を追加

This commit is contained in:
lltcggie 2018-11-23 22:02:06 +09:00
parent 0808ab9027
commit 0add9fa2c9
4 changed files with 53 additions and 8 deletions

View File

@ -1,3 +1,4 @@
{"name":"upcunet","arch_name":"upcunet","has_noise_scale":true,"channels":3,
"scale_factor":2,"offset":36,"recommended_crop_size":184
"scale_factor":2,"offset":36,"recommended_crop_size":184,
"scale_factor_noise":1,"offset_noise":28
}

View File

@ -191,13 +191,11 @@ Waifu2x::eWaifu2xError cNet::GetInfo(const boost::filesystem::path & info_path,
const auto arch_name = d["arch_name"].GetString();
const bool has_noise_scale = d.HasMember("has_noise_scale") && d["has_noise_scale"].GetBool() ? true : false;
const int channels = d["channels"].GetInt();
const int recommended_crop_size = d.HasMember("recommended_crop_size") ? d["recommended_crop_size"].GetInt() : -1;
info.name = name;
info.arch_name = arch_name;
info.has_noise_scale = has_noise_scale;
info.channels = channels;
info.recommended_crop_size = recommended_crop_size;
if (d.HasMember("offset"))
{
@ -217,6 +215,14 @@ Waifu2x::eWaifu2xError cNet::GetInfo(const boost::filesystem::path & info_path,
info.noise_scale.scale_factor = scale_factor;
}
if (d.HasMember("recommended_crop_size"))
{
const int recommended_crop_size = d["recommended_crop_size"].GetInt();
info.noise.recommended_crop_size = recommended_crop_size;
info.scale.recommended_crop_size = recommended_crop_size;
info.noise_scale.recommended_crop_size = recommended_crop_size;
}
if (d.HasMember("offset_noise"))
{
const int offset = d["offset_noise"].GetInt();
@ -229,6 +235,12 @@ Waifu2x::eWaifu2xError cNet::GetInfo(const boost::filesystem::path & info_path,
info.noise.scale_factor = scale_factor;
}
if (d.HasMember("recommended_crop_size_noise"))
{
const int recommended_crop_size = d["recommended_crop_size_noise"].GetInt();
info.noise.recommended_crop_size = recommended_crop_size;
}
if (d.HasMember("offset_scale"))
{
const int offset = d["offset_scale"].GetInt();
@ -241,6 +253,12 @@ Waifu2x::eWaifu2xError cNet::GetInfo(const boost::filesystem::path & info_path,
info.scale.scale_factor = scale_factor;
}
if (d.HasMember("recommended_crop_size_scale"))
{
const int recommended_crop_size = d["recommended_crop_size_scale"].GetInt();
info.scale.recommended_crop_size = recommended_crop_size;
}
if (d.HasMember("offset_noise_scale"))
{
const int offset = d["offset_noise_scale"].GetInt();
@ -252,6 +270,12 @@ Waifu2x::eWaifu2xError cNet::GetInfo(const boost::filesystem::path & info_path,
const int scale_factor = d["scale_factor_noise_scale"].GetInt();
info.noise_scale.scale_factor = scale_factor;
}
if (d.HasMember("recommended_crop_size_noise_scale"))
{
const int recommended_crop_size = d["recommended_crop_size_noise_scale"].GetInt();
info.noise_scale.recommended_crop_size = recommended_crop_size;
}
}
catch (...)
{

View File

@ -65,13 +65,13 @@ public:
{
int scale_factor;
int offset;
int recommended_crop_size;
};
std::string name;
std::string arch_name;
bool has_noise_scale;
int channels;
int recommended_crop_size;
stParam noise;
stParam scale;

View File

@ -548,11 +548,31 @@ void DialogEvent::SetCropSizeList(const boost::filesystem::path & input_path)
bool isRecommendedCropSize = false;
Waifu2x::stInfo info;
if (Waifu2x::GetInfo(model_dir, info) && info.recommended_crop_size > 0)
if (Waifu2x::GetInfo(model_dir, info))
{
tstring str(to_tstring(info.recommended_crop_size));
SendMessage(hcrop, CB_ADDSTRING, 0, (LPARAM)str.c_str());
isRecommendedCropSize = true;
int recommended_crop_size = 0;
switch (mode)
{
case Waifu2x::eWaifu2xModelTypeNoise:
recommended_crop_size = info.noise.recommended_crop_size;
break;
case Waifu2x::eWaifu2xModelTypeScale:
recommended_crop_size = info.scale.recommended_crop_size;
break;
case Waifu2x::eWaifu2xModelTypeNoiseScale:
recommended_crop_size = info.noise_scale.recommended_crop_size;
break;
case Waifu2x::eWaifu2xModelTypeAutoScale:
recommended_crop_size = info.noise_scale.recommended_crop_size;
break;
}
if (recommended_crop_size > 0)
{
tstring str(to_tstring(recommended_crop_size));
SendMessage(hcrop, CB_ADDSTRING, 0, (LPARAM)str.c_str());
isRecommendedCropSize = true;
}
}
if (list.size() > 0)