ノイズ除去レベル3を追加

This commit is contained in:
lltcggie 2016-04-20 19:11:53 +09:00
parent 1497e4f128
commit 77b84972b3
18 changed files with 39 additions and 16 deletions

View File

@ -7,7 +7,7 @@
[Caffe](http://caffe.berkeleyvision.org/)を用いて書き直し、Windows向けにビルドしたソフトです。 [Caffe](http://caffe.berkeleyvision.org/)を用いて書き直し、Windows向けにビルドしたソフトです。
CPUで変換することも出来ますが、CUDA(あるいはcuDNN)を使うとCPUより高速に変換することが出来ます。 CPUで変換することも出来ますが、CUDA(あるいはcuDNN)を使うとCPUより高速に変換することが出来ます。
GUI supports English and Japanese and Simplified Chinese and Korean. GUI supports English and Japanese and Simplified Chinese and Traditional Chinese and Korean and Turkish.
要求環境 要求環境
@ -262,9 +262,9 @@ waifu2x-caffe-cui.exe -i mywaifu.png -m noise_scale --scale_ratio 1.6 --noise_le
画像の縦横比を維持したまま、指定された縦幅になるように拡大します(単位はピクセル)。 画像の縦横比を維持したまま、指定された縦幅になるように拡大します(単位はピクセル)。
scale_widthと同時に指定することは出来ません。 scale_widthと同時に指定することは出来ません。
###-n <1|2>, --noise_level <1|2> ###-n <1|2|3>, --noise_level <1|2|3>
イズ除去レベルを指定します。イズ除去用のモデルはレベル1とレベル2のみ用意されているので、 イズ除去レベルを指定します。イズ除去用のモデルはレベル1とレベル2とレベル3のみ用意されているので、
1 もしくは 2 を指定して下さい。 1 か 2 か 3 を指定して下さい。
デフォルト値は`1`です。 デフォルト値は`1`です。
###--model_dir <文字列> ###--model_dir <文字列>
@ -371,4 +371,5 @@ ex.
オリジナルのwaifu2xを元に[waifu2x-converter](https://github.com/WL-Amigo/waifu2x-converter-cpp)を作成して下さった [アミーゴ](https://twitter.com/WL_Amigo)さん(READMEやLICENSE.txtの書き方、OpenCVの使い方等かなり参考にさせていただきました) オリジナルのwaifu2xを元に[waifu2x-converter](https://github.com/WL-Amigo/waifu2x-converter-cpp)を作成して下さった [アミーゴ](https://twitter.com/WL_Amigo)さん(READMEやLICENSE.txtの書き方、OpenCVの使い方等かなり参考にさせていただきました)
に、感謝します。 に、感謝します。
また、メッセージを英訳してくださった @paul70078 さん、メッセージを中国語(簡体字)に翻訳してくださった @yoonhakcher さん、中国語(簡体字)訳のプルリクエストを下さった @mzhboy さん、 また、メッセージを英訳してくださった @paul70078 さん、メッセージを中国語(簡体字)に翻訳してくださった @yoonhakcher さん、中国語(簡体字)訳のプルリクエストを下さった @mzhboy さん、
メッセージを韓国語に翻訳してくださった @kenin0726 さん、韓国語訳の改善を提案してくださった @aruhirin さん、メッセージを中国語(繁体字)に翻訳してくださった @lizardon1995 さん、@yoonhakcher さんに感謝します。 メッセージを韓国語に翻訳してくださった @kenin0726 さん、韓国語訳の改善を提案してくださった @aruhirin さん、
メッセージを中国語(繁体字)に翻訳してくださった @lizardon1995 さん、@yoonhakcher さん、トルコ語訳のプルリクエストを下さった @Scharynche さん に感謝します。

View File

@ -1,4 +1,4 @@
{ {
"IDC_STATIC_IO_SETTING":"输入和输出设置", "IDC_STATIC_IO_SETTING":"输入和输出设置",
"IDC_STATIC_INPUT_PATH":"输入\r\n(文件或文件夹)", "IDC_STATIC_INPUT_PATH":"输入\r\n(文件或文件夹)",
"IDC_BUTTON_INPUT_REF":"选择", "IDC_BUTTON_INPUT_REF":"选择",
@ -20,6 +20,7 @@
"IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG 降噪等级", "IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG 降噪等级",
"IDC_RADIONOISE_LEVEL1":"1 级", "IDC_RADIONOISE_LEVEL1":"1 级",
"IDC_RADIONOISE_LEVEL2":"2 级", "IDC_RADIONOISE_LEVEL2":"2 级",
"IDC_RADIONOISE_LEVEL3":"3 级",
"IDC_STATIC_SCALE_RATE":"放大尺寸", "IDC_STATIC_SCALE_RATE":"放大尺寸",
"IDC_RADIO_SCALE_RATIO":"放大倍率", "IDC_RADIO_SCALE_RATIO":"放大倍率",
"IDC_RADIO_SCALE_WIDTH":"放大后宽度", "IDC_RADIO_SCALE_WIDTH":"放大后宽度",

View File

@ -1,4 +1,4 @@
{ {
"IDC_STATIC_IO_SETTING":"輸入和輸出設置", "IDC_STATIC_IO_SETTING":"輸入和輸出設置",
"IDC_STATIC_INPUT_PATH":"輸入路徑\r\n(可使用文件夾)", "IDC_STATIC_INPUT_PATH":"輸入路徑\r\n(可使用文件夾)",
"IDC_BUTTON_INPUT_REF":"瀏覽文件", "IDC_BUTTON_INPUT_REF":"瀏覽文件",
@ -20,6 +20,7 @@
"IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG降噪水平", "IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG降噪水平",
"IDC_RADIONOISE_LEVEL1":"等級1", "IDC_RADIONOISE_LEVEL1":"等級1",
"IDC_RADIONOISE_LEVEL2":"等級2", "IDC_RADIONOISE_LEVEL2":"等級2",
"IDC_RADIONOISE_LEVEL3":"等級3",
"IDC_STATIC_SCALE_RATE":"放大大小", "IDC_STATIC_SCALE_RATE":"放大大小",
"IDC_RADIO_SCALE_RATIO":"放大比率", "IDC_RADIO_SCALE_RATIO":"放大比率",
"IDC_RADIO_SCALE_WIDTH":"轉換後高度", "IDC_RADIO_SCALE_WIDTH":"轉換後高度",

View File

@ -1,6 +1,6 @@
;LangName LangID SubLangID FileName ;LangName LangID SubLangID FileName
English(US) 0x09 0x01 english.json English(US) 0x09 0x01 english.json
Türkçe(TR) 0x1F 0x01 turkish.json Türkçe(TR) 0x1F 0x01 turkish.json
日本語 0x11 0x01 japanese.json 日本語 0x11 0x01 japanese.json
한국어 0x12 0x01 korean.json 한국어 0x12 0x01 korean.json
繁体中文 0x04 0x01 Chinese_Traditional.json 繁体中文 0x04 0x01 Chinese_Traditional.json

View File

@ -20,6 +20,7 @@
"IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG denoise level", "IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG denoise level",
"IDC_RADIONOISE_LEVEL1":"Level 1", "IDC_RADIONOISE_LEVEL1":"Level 1",
"IDC_RADIONOISE_LEVEL2":"Level 2", "IDC_RADIONOISE_LEVEL2":"Level 2",
"IDC_RADIONOISE_LEVEL3":"Level 3",
"IDC_STATIC_SCALE_RATE":"Magnification size", "IDC_STATIC_SCALE_RATE":"Magnification size",
"IDC_RADIO_SCALE_RATIO":"Set rate", "IDC_RADIO_SCALE_RATIO":"Set rate",
"IDC_RADIO_SCALE_WIDTH":"Set trans width", "IDC_RADIO_SCALE_WIDTH":"Set trans width",

View File

@ -1,4 +1,4 @@
{ {
"IDC_STATIC_IO_SETTING":"入出力設定", "IDC_STATIC_IO_SETTING":"入出力設定",
"IDC_STATIC_INPUT_PATH":"入力パス\r\n(フォルダでも複数でもOK)", "IDC_STATIC_INPUT_PATH":"入力パス\r\n(フォルダでも複数でもOK)",
"IDC_BUTTON_INPUT_REF":"参照", "IDC_BUTTON_INPUT_REF":"参照",
@ -20,6 +20,7 @@
"IDC_STATIC_JPEG_NOISE_LEVEL":"JPEGイズ除去レベル", "IDC_STATIC_JPEG_NOISE_LEVEL":"JPEGイズ除去レベル",
"IDC_RADIONOISE_LEVEL1":"レベル1", "IDC_RADIONOISE_LEVEL1":"レベル1",
"IDC_RADIONOISE_LEVEL2":"レベル2", "IDC_RADIONOISE_LEVEL2":"レベル2",
"IDC_RADIONOISE_LEVEL3":"レベル3",
"IDC_STATIC_SCALE_RATE":"拡大サイズ", "IDC_STATIC_SCALE_RATE":"拡大サイズ",
"IDC_RADIO_SCALE_RATIO":"拡大率で指定", "IDC_RADIO_SCALE_RATIO":"拡大率で指定",
"IDC_RADIO_SCALE_WIDTH":"変換後の横幅で指定", "IDC_RADIO_SCALE_WIDTH":"変換後の横幅で指定",

View File

@ -1,4 +1,4 @@
{ {
"IDC_STATIC_IO_SETTING":"입출력 설정", "IDC_STATIC_IO_SETTING":"입출력 설정",
"IDC_STATIC_INPUT_PATH":"입력 경로\r\n(파일 및 폴더)", "IDC_STATIC_INPUT_PATH":"입력 경로\r\n(파일 및 폴더)",
"IDC_BUTTON_INPUT_REF":"찾기", "IDC_BUTTON_INPUT_REF":"찾기",
@ -20,6 +20,7 @@
"IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG 노이즈 제거 단계", "IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG 노이즈 제거 단계",
"IDC_RADIONOISE_LEVEL1":"1단계", "IDC_RADIONOISE_LEVEL1":"1단계",
"IDC_RADIONOISE_LEVEL2":"2단계", "IDC_RADIONOISE_LEVEL2":"2단계",
"IDC_RADIONOISE_LEVEL3":"3단계",
"IDC_STATIC_SCALE_RATE":"확대 크기", "IDC_STATIC_SCALE_RATE":"확대 크기",
"IDC_RADIO_SCALE_RATIO":"확대율로 설정", "IDC_RADIO_SCALE_RATIO":"확대율로 설정",
"IDC_RADIO_SCALE_WIDTH":"변환 후의 가로 너비", "IDC_RADIO_SCALE_WIDTH":"변환 후의 가로 너비",

View File

@ -1,4 +1,4 @@
{ {
"IDC_STATIC_IO_SETTING":"Girdi/Çıktı Ayarları", "IDC_STATIC_IO_SETTING":"Girdi/Çıktı Ayarları",
"IDC_STATIC_INPUT_PATH":"Girdi Yolu\r\n(dosya veya klasör)", "IDC_STATIC_INPUT_PATH":"Girdi Yolu\r\n(dosya veya klasör)",
"IDC_BUTTON_INPUT_REF":"Gözat", "IDC_BUTTON_INPUT_REF":"Gözat",
@ -20,6 +20,7 @@
"IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG gürültüsüzleştirme düzeyi", "IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG gürültüsüzleştirme düzeyi",
"IDC_RADIONOISE_LEVEL1":"Seviye 1", "IDC_RADIONOISE_LEVEL1":"Seviye 1",
"IDC_RADIONOISE_LEVEL2":"Seviye 2", "IDC_RADIONOISE_LEVEL2":"Seviye 2",
"IDC_RADIONOISE_LEVEL3":"Seviye 3",
"IDC_STATIC_SCALE_RATE":"Büyütme oranı", "IDC_STATIC_SCALE_RATE":"Büyütme oranı",
"IDC_RADIO_SCALE_RATIO":"Oran belirle", "IDC_RADIO_SCALE_RATIO":"Oran belirle",
"IDC_RADIO_SCALE_WIDTH":"Hedef en belirle", "IDC_RADIO_SCALE_WIDTH":"Hedef en belirle",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -280,8 +280,10 @@ private:
if (SendMessage(GetDlgItem(dh, IDC_RADIONOISE_LEVEL1), BM_GETCHECK, 0, 0)) if (SendMessage(GetDlgItem(dh, IDC_RADIONOISE_LEVEL1), BM_GETCHECK, 0, 0))
noise_level = 1; noise_level = 1;
else else if (SendMessage(GetDlgItem(dh, IDC_RADIONOISE_LEVEL2), BM_GETCHECK, 0, 0))
noise_level = 2; noise_level = 2;
else
noise_level = 3;
if (SendMessage(GetDlgItem(dh, IDC_RADIO_SCALE_RATIO), BM_GETCHECK, 0, 0)) if (SendMessage(GetDlgItem(dh, IDC_RADIO_SCALE_RATIO), BM_GETCHECK, 0, 0))
scaleType = eScaleTypeRatio; scaleType = eScaleTypeRatio;
@ -1340,6 +1342,7 @@ public:
SET_WINDOW_TEXT(IDC_STATIC_JPEG_NOISE_LEVEL); SET_WINDOW_TEXT(IDC_STATIC_JPEG_NOISE_LEVEL);
SET_WINDOW_TEXT(IDC_RADIONOISE_LEVEL1); SET_WINDOW_TEXT(IDC_RADIONOISE_LEVEL1);
SET_WINDOW_TEXT(IDC_RADIONOISE_LEVEL2); SET_WINDOW_TEXT(IDC_RADIONOISE_LEVEL2);
SET_WINDOW_TEXT(IDC_RADIONOISE_LEVEL3);
SET_WINDOW_TEXT(IDC_STATIC_SCALE_RATE); SET_WINDOW_TEXT(IDC_STATIC_SCALE_RATE);
SET_WINDOW_TEXT(IDC_RADIO_SCALE_RATIO); SET_WINDOW_TEXT(IDC_RADIO_SCALE_RATIO);
SET_WINDOW_TEXT(IDC_RADIO_SCALE_WIDTH); SET_WINDOW_TEXT(IDC_RADIO_SCALE_WIDTH);
@ -1642,7 +1645,7 @@ public:
if (outputExt.length() > 0 && outputExt[0] != TEXT('.')) if (outputExt.length() > 0 && outputExt[0] != TEXT('.'))
outputExt = L"." + outputExt; outputExt = L"." + outputExt;
if (!(1 <= noise_level && noise_level <= 2)) if (!(1 <= noise_level && noise_level <= 3))
noise_level = 1; noise_level = 1;
if (tprcess == TEXT("gpu")) if (tprcess == TEXT("gpu"))
@ -1717,13 +1720,21 @@ public:
{ {
SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_CHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_CHECKED, 0);
SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_UNCHECKED, 0);
SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL3), BM_SETCHECK, BST_UNCHECKED, 0);
}
else if (noise_level == 2)
{
SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_UNCHECKED, 0);
SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_CHECKED, 0);
SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL3), BM_SETCHECK, BST_UNCHECKED, 0);
} }
else else
{ {
SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_UNCHECKED, 0);
SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_CHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_UNCHECKED, 0);
SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL3), BM_SETCHECK, BST_CHECKED, 0);
} }
if (process == "gpu") if (process == "gpu")
{ {
SendMessage(GetDlgItem(hWnd, IDC_RADIO_MODE_GPU), BM_SETCHECK, BST_CHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIO_MODE_GPU), BM_SETCHECK, BST_CHECKED, 0);
@ -2286,6 +2297,7 @@ int WINAPI WinMain(HINSTANCE hInstance,
cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_AUTO_SCALE); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_AUTO_SCALE);
cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIONOISE_LEVEL1); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIONOISE_LEVEL1);
cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIONOISE_LEVEL2); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIONOISE_LEVEL2);
cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIONOISE_LEVEL3);
cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODE_CPU); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODE_CPU);
cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODE_GPU); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODE_GPU);
cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODEL_RGB); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::UpdateAddString, &cDialogEvent), NULL, IDC_RADIO_MODEL_RGB);

Binary file not shown.

View File

@ -93,6 +93,7 @@ int main(int argc, char** argv)
std::vector<int> cmdNRLConstraintV; std::vector<int> cmdNRLConstraintV;
cmdNRLConstraintV.push_back(1); cmdNRLConstraintV.push_back(1);
cmdNRLConstraintV.push_back(2); cmdNRLConstraintV.push_back(2);
cmdNRLConstraintV.push_back(3);
TCLAP::ValuesConstraint<int> cmdNRLConstraint(cmdNRLConstraintV); TCLAP::ValuesConstraint<int> cmdNRLConstraint(cmdNRLConstraintV);
TCLAP::ValueArg<int> cmdNRLevel("n", "noise_level", "noise reduction level", TCLAP::ValueArg<int> cmdNRLevel("n", "noise_level", "noise reduction level",
false, 1, &cmdNRLConstraint, cmd); false, 1, &cmdNRLConstraint, cmd);