GUI以外もコンパイルできるようにした

This commit is contained in:
lltcggie 2016-07-03 22:36:06 +09:00
parent 485213433b
commit a9ce01196c
8 changed files with 78 additions and 21 deletions

View File

@ -30,10 +30,10 @@ class Waifu2x
public: public:
enum eWaifu2xModelType enum eWaifu2xModelType
{ {
eWaifu2xModelTypeNoise, eWaifu2xModelTypeNoise = 0,
eWaifu2xModelTypeScale, eWaifu2xModelTypeScale = 1,
eWaifu2xModelTypeNoiseScale, eWaifu2xModelTypeNoiseScale = 2,
eWaifu2xModelTypeAutoScale, eWaifu2xModelTypeAutoScale = 3,
}; };
enum eWaifu2xError enum eWaifu2xError

View File

@ -8,9 +8,18 @@ void* Waifu2xInit(const char *mode, const int noise_level, const char *model_dir
{ {
Waifu2x *obj = new Waifu2x(); Waifu2x *obj = new Waifu2x();
char *argv[] = { "" }; Waifu2x::eWaifu2xModelType mt;
if (strcmp("noise", mode) == 0)
mt = Waifu2x::eWaifu2xModelTypeNoise;
else if (strcmp("scale", mode) == 0)
mt = Waifu2x::eWaifu2xModelTypeScale;
else if (strcmp("noise_scale", mode) == 0)
mt = Waifu2x::eWaifu2xModelTypeNoiseScale;
else if (strcmp("auto_scale", mode) == 0)
mt = Waifu2x::eWaifu2xModelTypeAutoScale;
if (obj->init(1, argv, mode, noise_level, 2.0, boost::optional<int>(), boost::optional<int>(), model_dir, process, boost::optional<int>(), output_depth, use_tta, crop_size, batch_size) != Waifu2x::eWaifu2xError_OK) // if (obj->Init(1, argv, mode, noise_level, 2.0, boost::optional<int>(), boost::optional<int>(), model_dir, process, boost::optional<int>(), output_depth, use_tta, crop_size, batch_size) != Waifu2x::eWaifu2xError_OK)
if (obj->Init(mt, noise_level, model_dir, process) != Waifu2x::eWaifu2xError_OK)
{ {
delete obj; delete obj;
return nullptr; return nullptr;

View File

@ -44,14 +44,14 @@
<IncludePath>D:\caffe-build\install\include;D:\caffe-build\install\include\boost-1_59;$(CUDA_PATH_V7_5)\include;D:\opencv310\build_vc\install\include;$(SolutionDir)rapidjson\include;$(SolutionDir)stb;$(SolutionDir)include;$(IncludePath)</IncludePath> <IncludePath>D:\caffe-build\install\include;D:\caffe-build\install\include\boost-1_59;$(CUDA_PATH_V7_5)\include;D:\opencv310\build_vc\install\include;$(SolutionDir)rapidjson\include;$(SolutionDir)stb;$(SolutionDir)include;$(IncludePath)</IncludePath>
<LibraryPath>D:\opencv310\build_vc\install\x64\vc12\lib;D:\caffe-build\install\lib;$(CUDA_PATH_V7_5)\lib\$(PlatformName);D:\program\boost_1_59_0\stage\x64\lib;$(LibraryPath)</LibraryPath> <LibraryPath>D:\opencv310\build_vc\install\x64\vc12\lib;D:\caffe-build\install\lib;$(CUDA_PATH_V7_5)\lib\$(PlatformName);D:\program\boost_1_59_0\stage\x64\lib;$(LibraryPath)</LibraryPath>
<TargetName>waifu2x-caffed</TargetName> <TargetName>waifu2x-caffed</TargetName>
<OutDir>$(SolutionDir)bin</OutDir> <OutDir>$(SolutionDir)bin\</OutDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental> <LinkIncremental>false</LinkIncremental>
<IncludePath>D:\caffe-build\install\include;D:\caffe-build\install\include\boost-1_59;$(CUDA_PATH_V7_5)\include;D:\opencv310\build_vc\install\include;$(SolutionDir)rapidjson\include;$(SolutionDir)stb;$(SolutionDir)include;$(IncludePath)</IncludePath> <IncludePath>D:\caffe-build\install\include;D:\caffe-build\install\include\boost-1_59;$(CUDA_PATH_V7_5)\include;D:\opencv310\build_vc\install\include;$(SolutionDir)rapidjson\include;$(SolutionDir)stb;$(SolutionDir)include;$(IncludePath)</IncludePath>
<LibraryPath>D:\opencv310\build_vc\install\x64\vc12\lib;D:\caffe-build\install\lib;$(CUDA_PATH_V7_5)\lib\$(PlatformName);D:\program\boost_1_59_0\stage\x64\lib;$(LibraryPath)</LibraryPath> <LibraryPath>D:\opencv310\build_vc\install\x64\vc12\lib;D:\caffe-build\install\lib;$(CUDA_PATH_V7_5)\lib\$(PlatformName);D:\program\boost_1_59_0\stage\x64\lib;$(LibraryPath)</LibraryPath>
<TargetName>waifu2x-caffe</TargetName> <TargetName>waifu2x-caffe</TargetName>
<OutDir>$(SolutionDir)bin</OutDir> <OutDir>$(SolutionDir)bin\</OutDir>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile> <ClCompile>
@ -90,10 +90,14 @@
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\common\cNet.cpp" />
<ClCompile Include="..\common\stImage.cpp" />
<ClCompile Include="..\common\waifu2x.cpp" /> <ClCompile Include="..\common\waifu2x.cpp" />
<ClCompile Include="Source.cpp" /> <ClCompile Include="Source.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\common\cNet.h" />
<ClInclude Include="..\common\stImage.h" />
<ClInclude Include="..\common\waifu2x.h" /> <ClInclude Include="..\common\waifu2x.h" />
</ItemGroup> </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View File

@ -13,18 +13,33 @@
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter> </Filter>
<Filter Include="common">
<UniqueIdentifier>{a4f9aaee-fc66-48f3-9697-9e09ffbd71e2}</UniqueIdentifier>
</Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="Source.cpp"> <ClCompile Include="Source.cpp">
<Filter>ソース ファイル</Filter> <Filter>ソース ファイル</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\common\waifu2x.cpp"> <ClCompile Include="..\common\waifu2x.cpp">
<Filter>ソース ファイル</Filter> <Filter>common</Filter>
</ClCompile>
<ClCompile Include="..\common\cNet.cpp">
<Filter>common</Filter>
</ClCompile>
<ClCompile Include="..\common\stImage.cpp">
<Filter>common</Filter>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\common\waifu2x.h"> <ClInclude Include="..\common\waifu2x.h">
<Filter>ヘッダー ファイル</Filter> <Filter>common</Filter>
</ClInclude>
<ClInclude Include="..\common\cNet.h">
<Filter>common</Filter>
</ClInclude>
<ClInclude Include="..\common\stImage.h">
<Filter>common</Filter>
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -43,14 +43,14 @@
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
<IncludePath>D:\caffe-build\install\include;D:\caffe-build\install\include\boost-1_59;$(CUDA_PATH_V7_5)\include;D:\opencv310\build_vc\install\include;$(SolutionDir)rapidjson\include;$(SolutionDir)stb;$(SolutionDir)include;$(IncludePath)</IncludePath> <IncludePath>D:\caffe-build\install\include;D:\caffe-build\install\include\boost-1_59;$(CUDA_PATH_V7_5)\include;D:\opencv310\build_vc\install\include;$(SolutionDir)rapidjson\include;$(SolutionDir)stb;$(SolutionDir)include;$(IncludePath)</IncludePath>
<LibraryPath>D:\opencv310\build_vc\install\x64\vc12\lib;D:\caffe-build\install\lib;$(CUDA_PATH_V7_5)\lib\$(PlatformName);D:\program\boost_1_59_0\stage\x64\lib;$(LibraryPath)</LibraryPath> <LibraryPath>D:\opencv310\build_vc\install\x64\vc12\lib;D:\caffe-build\install\lib;$(CUDA_PATH_V7_5)\lib\$(PlatformName);D:\program\boost_1_59_0\stage\x64\lib;$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)bin</OutDir> <OutDir>$(SolutionDir)bin\</OutDir>
<TargetName>$(ProjectName)d</TargetName> <TargetName>$(ProjectName)d</TargetName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental> <LinkIncremental>false</LinkIncremental>
<IncludePath>D:\caffe-build\install\include;D:\caffe-build\install\include\boost-1_59;$(CUDA_PATH_V7_5)\include;D:\opencv310\build_vc\install\include;$(SolutionDir)rapidjson\include;$(SolutionDir)stb;$(SolutionDir)include;$(IncludePath)</IncludePath> <IncludePath>D:\caffe-build\install\include;D:\caffe-build\install\include\boost-1_59;$(CUDA_PATH_V7_5)\include;D:\opencv310\build_vc\install\include;$(SolutionDir)rapidjson\include;$(SolutionDir)stb;$(SolutionDir)include;$(IncludePath)</IncludePath>
<LibraryPath>D:\opencv310\build_vc\install\x64\vc12\lib;D:\caffe-build\install\lib;$(CUDA_PATH_V7_5)\lib\$(PlatformName);D:\program\boost_1_59_0\stage\x64\lib;$(LibraryPath)</LibraryPath> <LibraryPath>D:\opencv310\build_vc\install\x64\vc12\lib;D:\caffe-build\install\lib;$(CUDA_PATH_V7_5)\lib\$(PlatformName);D:\program\boost_1_59_0\stage\x64\lib;$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)bin</OutDir> <OutDir>$(SolutionDir)bin\</OutDir>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile> <ClCompile>

View File

@ -52,7 +52,7 @@ boost::filesystem::path relativePath(const boost::filesystem::path &path, const
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
Waifu2x::init_liblary(); Waifu2x::init_liblary(argc, argv);
// Caffeのエラーでないログを保存しないようにする // Caffeのエラーでないログを保存しないようにする
google::SetLogDestination(google::INFO, ""); google::SetLogDestination(google::INFO, "");
@ -319,11 +319,19 @@ int main(int argc, char** argv)
file_paths.emplace_back(cmdInputFile.getValue(), outputFileName); file_paths.emplace_back(cmdInputFile.getValue(), outputFileName);
} }
Waifu2x::eWaifu2xModelType mode;
if (cmdMode.getValue() == "noise")
mode = Waifu2x::eWaifu2xModelTypeNoise;
else if (cmdMode.getValue() == "scale")
mode = Waifu2x::eWaifu2xModelTypeScale;
else if (cmdMode.getValue() == "noise_scale")
mode = Waifu2x::eWaifu2xModelTypeNoiseScale;
else if (cmdMode.getValue() == "auto_scale")
mode = Waifu2x::eWaifu2xModelTypeAutoScale;
Waifu2x::eWaifu2xError ret; Waifu2x::eWaifu2xError ret;
Waifu2x w; Waifu2x w;
ret = w.init(argc, argv, cmdMode.getValue(), cmdNRLevel.getValue(), ScaleRatio, ScaleWidth, ScaleHeight, cmdModelPath.getValue(), cmdProcess.getValue(), ret = w.Init(mode, cmdNRLevel.getValue(), cmdModelPath.getValue(), cmdProcess.getValue(), cmdGPUNoFile.getValue());
cmdOutputQuality.getValue() == -1 ? boost::optional<int>() : cmdOutputQuality.getValue(), cmdOutputDepth.getValue(), use_tta, cmdCropSizeFile.getValue(),
cmdBatchSizeFile.getValue(), cmdGPUNoFile.getValue());
switch (ret) switch (ret)
{ {
case Waifu2x::eWaifu2xError_InvalidParameter: case Waifu2x::eWaifu2xError_InvalidParameter:
@ -343,7 +351,9 @@ int main(int argc, char** argv)
bool isError = false; bool isError = false;
for (const auto &p : file_paths) for (const auto &p : file_paths)
{ {
const Waifu2x::eWaifu2xError ret = w.waifu2x(p.first, p.second); const Waifu2x::eWaifu2xError ret = w.waifu2x(p.first, p.second, ScaleRatio, ScaleWidth, ScaleHeight, nullptr,
cmdCropSizeFile.getValue(), cmdCropSizeFile.getValue(),
cmdOutputQuality.getValue() == -1 ? boost::optional<int>() : cmdOutputQuality.getValue(), cmdOutputDepth.getValue(), use_tta, cmdBatchSizeFile.getValue());
if (ret != Waifu2x::eWaifu2xError_OK) if (ret != Waifu2x::eWaifu2xError_OK)
{ {
switch (ret) switch (ret)

View File

@ -43,14 +43,14 @@
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
<IncludePath>D:\caffe-build\install\include;D:\caffe-build\install\include\boost-1_59;$(CUDA_PATH_V7_5)\include;D:\opencv310\build_vc\install\include;$(SolutionDir)rapidjson\include;$(SolutionDir)stb;$(SolutionDir)include;$(IncludePath)</IncludePath> <IncludePath>D:\caffe-build\install\include;D:\caffe-build\install\include\boost-1_59;$(CUDA_PATH_V7_5)\include;D:\opencv310\build_vc\install\include;$(SolutionDir)rapidjson\include;$(SolutionDir)stb;$(SolutionDir)include;$(IncludePath)</IncludePath>
<LibraryPath>D:\opencv310\build_vc\install\x64\vc12\lib;D:\caffe-build\install\lib;$(CUDA_PATH_V7_5)\lib\$(PlatformName);D:\program\boost_1_59_0\stage\x64\lib;$(LibraryPath)</LibraryPath> <LibraryPath>D:\opencv310\build_vc\install\x64\vc12\lib;D:\caffe-build\install\lib;$(CUDA_PATH_V7_5)\lib\$(PlatformName);D:\program\boost_1_59_0\stage\x64\lib;$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)bin</OutDir> <OutDir>$(SolutionDir)bin\</OutDir>
<TargetName>$(ProjectName)d</TargetName> <TargetName>$(ProjectName)d</TargetName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental> <LinkIncremental>false</LinkIncremental>
<IncludePath>D:\caffe-build\install\include;D:\caffe-build\install\include\boost-1_59;$(CUDA_PATH_V7_5)\include;D:\opencv310\build_vc\install\include;$(SolutionDir)rapidjson\include;$(SolutionDir)stb;$(SolutionDir)include;$(IncludePath)</IncludePath> <IncludePath>D:\caffe-build\install\include;D:\caffe-build\install\include\boost-1_59;$(CUDA_PATH_V7_5)\include;D:\opencv310\build_vc\install\include;$(SolutionDir)rapidjson\include;$(SolutionDir)stb;$(SolutionDir)include;$(IncludePath)</IncludePath>
<LibraryPath>D:\opencv310\build_vc\install\x64\vc12\lib;D:\caffe-build\install\lib;$(CUDA_PATH_V7_5)\lib\$(PlatformName);D:\program\boost_1_59_0\stage\x64\lib;$(LibraryPath)</LibraryPath> <LibraryPath>D:\opencv310\build_vc\install\x64\vc12\lib;D:\caffe-build\install\lib;$(CUDA_PATH_V7_5)\lib\$(PlatformName);D:\program\boost_1_59_0\stage\x64\lib;$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)bin</OutDir> <OutDir>$(SolutionDir)bin\</OutDir>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile> <ClCompile>
@ -89,10 +89,14 @@
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\common\cNet.cpp" />
<ClCompile Include="..\common\stImage.cpp" />
<ClCompile Include="..\common\waifu2x.cpp" /> <ClCompile Include="..\common\waifu2x.cpp" />
<ClCompile Include="Source.cpp" /> <ClCompile Include="Source.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\common\cNet.h" />
<ClInclude Include="..\common\stImage.h" />
<ClInclude Include="..\common\waifu2x.h" /> <ClInclude Include="..\common\waifu2x.h" />
</ItemGroup> </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View File

@ -13,18 +13,33 @@
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter> </Filter>
<Filter Include="common">
<UniqueIdentifier>{094d18a8-12f6-44e3-bd4b-df8e363da970}</UniqueIdentifier>
</Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="Source.cpp"> <ClCompile Include="Source.cpp">
<Filter>ソース ファイル</Filter> <Filter>ソース ファイル</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\common\waifu2x.cpp"> <ClCompile Include="..\common\waifu2x.cpp">
<Filter>ソース ファイル</Filter> <Filter>common</Filter>
</ClCompile>
<ClCompile Include="..\common\cNet.cpp">
<Filter>common</Filter>
</ClCompile>
<ClCompile Include="..\common\stImage.cpp">
<Filter>common</Filter>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\common\waifu2x.h"> <ClInclude Include="..\common\waifu2x.h">
<Filter>ヘッダー ファイル</Filter> <Filter>common</Filter>
</ClInclude>
<ClInclude Include="..\common\cNet.h">
<Filter>common</Filter>
</ClInclude>
<ClInclude Include="..\common\stImage.h">
<Filter>common</Filter>
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
</Project> </Project>