앞의 포스트에서 소개한 Depixelizing Pixel Art는 실제로 논문을 읽은 뒤 구현하기엔 쉽지가 않다.
뒤져보니 Cary Yang이라는 분께서 C++로 구현한 결과를 깃허브에 올려두셨다.
그런데, 막상 이 소스를 Visual Studio 2015로 컴파일해보려니 쉽지 않다.
Boost와 OpenCV를 사용해서 작성되었기 때문에 이를 미리 설치해야 하고, 몇 가지 튜닝이 필요하기 때문이다.
필요한 도구는 Boost, OpenCV 그리고, cmake.
우선 각각을 다음 위치에서 다운받는다.
1. cmake 설치
알아서 한다. 끗.
반드시 이렇게 GUI를 띄워야 하는 건 아님…
2. OpenCV 설치
여기서는 c:\_lib\opencv\에 설치하는 것을 가정한다.
(c:\_lib\opencv\src\에 소스파일 저장, c:\_lib\opencv\build\에서 빌드)
다운받은 소스를 ...\build\에 압축을 푼 뒤, 명령창에서 ...\src\로 이동하여 다음을 입력한다.
cmake ..\src
만약, 64비트 환경에서 동작하게 하고 싶으면 아래와 같이 입력하면 된다.
cmake -DCMAKE_GENERATOR_PLATFORM=x64 ..\src
조금의 시간이 지나면 c:\_lib\opencv\build\OpenCV.sln을 포함한 많은 파일들이 생성되어 있다.
sln 파일을 더블클릭.
ALL_BUILD에서 우클릭하여 build를 선택하고 기다린다.
c:\_lib\opencv\build\bin\Release\에 실행 파일들이,
c:\_lib\opencv\build\lib\Release\에 라이브러리들이 들어있다.
이 중 실행 파일이 있는 폴더를 윈도우의 경로에 추가한다.
3. Boost 설치
c:\_lib\boost_1_62_0\에 압축을 푼다.
다음으로 c:\_lib\build_boost_1_62_vs2015.bat라는 이름으로 아래와 같은 내용의 파일을 만든다.
(출처: How to build Boost 1.62 with Visual Studio 2015)
call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86
set cores=%NUMBER_OF_PROCESSORS%
echo Building boost with %cores% cores
cd boost_1_62_0
call bootstrap.bat
rem Most libraries can be static libs
b2 -j%cores% toolset=msvc-14.0 address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/x64
b2 -j%cores% toolset=msvc-14.0 address-model=32 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/win32
pause
마지막으로 생성한 build_boost_1_62_vs2015.bat를 실행한다. 끗.