ずっと前から入れたかったのにずっと前から入れられなかったアレ。
waifu2xに関する説明はいらないだろう。waifu2x-converter-glslはwaifu2xの中でもOpenGLでGPUを使ってくれるとウワサなので入れてみたかったわけだ。
この記事が参考になりそうだが、やっぱり単純にはいかない。ごちゃごちゃやったところうまくいったので、そのメモ。
まずライブラリのインストール。結論からいって、オプションはいらない。
brew tap homebrew/science brew install opencv3 brew tap homebrew/versions brew install glfw3 --universal
これで十分。linkもしなくてよい。
とりあえず作業ディレクトリに移動してgit cloneする。
cd ~ mkdir .src cd .src git clone https://github.com/ueshita/waifu2x-converter-glsl cd waifu2x-converter-glsl
さらにXCodeをインストールした状態で下を実行。ここまでは該当記事と同じ。
open build/waifu2x-converter-glsl.xcodeproj
これでプロジェクトを開いた状態で2箇所いじる。
1つめはincludeパス。上の「Build Settings」を選び「Search Paths」に「/usr/local/opt/opencv3/include」を追加する。ここで下のように「Info / Build Settings」の並びになっていなくて「Resource Tags / Build Settings / …」の並びになっているときはターゲットの設定になっているので、その左にある「waifu2x-converter-glsl」を押してProjectのそれに切り替える。
次はターゲットのライブラリ参照。Targetの設定に戻って、上の「Build Phases」を選び「Link Binary With Libraries」を選んで、もともとあった3つのlibopencv〜を削除する。そして+を押してAdd Other…から/usr/local/opt/opencv3/lib/にあるlibopencv_core.dylib、libopencv_imgcodecs.dylib、libopencv_imgproc.dylibの3つを選んで決定。libopencv〜じゃないやつはそのままで良い。
(glfwも変える必要があるかも。/usr/local/opt/glfw/lib/にあるlibglfw.dylibを選べばよい。)
この状態で保存してXCodeを終了する。あとは該当記事通り次のコマンドを実行。\は改行だけど改行じゃないよ、の意味。
xcodebuild \ -project build/waifu2x-converter-glsl.xcodeproj \ -scheme waifu2x-converter-glsl \ -configuration Release \ -derivedDataPath DerivedData
これでDerivedData/Build/Products/Release/に実行ファイルができるので、一番上のディレクトリに持ってきて終了。
cp DerivedData/Build/Products/Release/waifu2x-converter-glsl .
作業ディレクトリ依存の話はおそらく変化していないので、qtのフロントエンドを使うのが丸いだろう。設定でコマンド名だけ指定すればよろしい(オプションは互換性がある)。ちなみにqtのフロントエンドはqtのライブラリを入れなくても動く。