2017年9月2日土曜日

Windows10 で白黒写真をカラー化する方法

How to colorize monotone photos on Windows10

過去のブログ 機械学習で白黒写真をカラー化する方法 では、Linux 用機械学習アプリケーションを使って白黒写真をカラー化しました。
このアプリケーションに必要なTourchフレームワークがMac OS と一部のLinuxディストリビューションしかサポートしていなかったため 当時はUbuntu Linux を使いましたが、Windows Subsystem for Linux でも使えたのでその方法をまとめました。
blog.fujiu.jp Windows10 で白黒写真をカラー化する方法


環境

  • Windows 10 Creators Update


Windows Subsystem for Linux をセットアップする

Windows Subsystem for Linux は初期状態では利用できないので次の手順でセットアップします。
コントロールパネル - 更新とセキュリティ - 開発者向け
を開いて開発者モードに設定します。

コントロールパネル - アプリと機能 - プログラムと機能 - Windowsの機能の有効かまたは無効化
を開いて
Windows Subsystem for Linux (Beta) にチェックを入れてOKをクリックしてWindowsを再起動するとインストールされます。

Windows Subsystem for Linux はスタートメニューに登録されません。(スタートメニューに Bash on Ubuntu on Windows が登録されることがあるようです)
コマンドプロンプトかPowerShellのコンソールから bash と入力すると利用できます。


カラー化アプリケーションをインストールする

Windows Subsystem for Linux の bash は初期状態ではツール類が不足していました。
bash に次のコマンドを入力して インストールに必要と思われるツール類をインストールしました。


bashに次のコマンドを入力してTorchフレームワークをインストールします。
インストール中はインターネットへの接続が必要でした。

このインストールは数時間を要し、途中で何度かルートユーザーのパスワードの入力が必要でした。

インストールが終わると
Do you want to automatically prepend the Torch install location to PATH and LD_LIBRARY_PATH
と表示されるので yes と入力します。
これで .bashrc にexportコマンドが追記されるので次のコマンドを実行して環境変数を更新します。


bashに次のコマンドを入力してLua用パッケージをインストールします。


bashに次のコマンドを入力してホームディレクトリーに siggraph2016_colorization をインストールします。


これでインストールは終わりです。


白黒写真をカラー化する

カラー化したい白黒の画像はpngフォーマットだと「Wrong number of input channels!」というエラーが起きることがあるのでjpgフォーマットをお勧めします
bashからconvertコマンドを使うと画像ファイルをjpgフォーマットに変換できます。

また、画像サイズが横512×縦512ピクセルを超えると処理が遅いとのことです。
縦横とも512ピクセル以内なら1秒以内に終わります。

白黒画像をホームディレクトリに
monotoon.jpg
というファイル名で置いた場合、次のようなコマンドを実行すると result.png というファイル名でカラー化されます。


こんな画像を処理したら

こうなりました。

元の画像はこちらです。

今回はセピア調になってしまいましたが、昔の白黒写真をカラー化すると面白い結果になります。

GATAG|フリー画像・写真素材集 4.0 http://free-photos.gatag.net/tag/%E6%98%AD%E5%92%8C より

関連ブログ

機械学習で白黒写真をカラー化する方法
Vsiaul Studio Code のターミナルを Bash に設定する方法
Windows や Linux で COBOL のプログラミングをする方法
WindowsでUnix用GUIツールを実行する方法

0 件のコメント:

コメントを投稿