「プログラムで画像を手軽に加工したい・・・」
「自動的に画像を作成したい・・・」
このような場合には、Tilerがオススメです。
この記事では、画像を手軽に加工できるTilerについて解説しています。
本記事の内容
- Tilerとは?
- Tilerのシステム要件
- Tilerのインストール
- Tilerの動作確認
それでは、上記に沿って解説していきます。
Tilerとは?
Tiler公式(GitHub)
https://github.com/nuno-faria/tiler
Tilerとは、画像で画像を構築するためのツールです。
見れば、すぐにわかります。
次の画像は、ゴッホの「星月夜」です。
Tilerを使うと、次のような画像に加工できます。
この場合は、タイルとなる画像は円が適用されています。
このタイルをいろいろな画像にすることができます。
Tilerを使えば、このように画像を簡単に加工することができるようになります。
タイルを変更すれば、様々なパターンの画像が作成できます。
タイル自体を自分で用意することも可能です。
以上、Tilerについて説明しました。
次は、Tilerのシステム要件を説明します。
Tilerのシステム要件
現時点(2022年6月)でのTilerの最新バージョンは、特にありません。
2019年にリリースされて以降、たまに更新が実施される程度です。
その際にも、バージョンの改定は実施されていません。
そのこともあり、システム要件も適当に記載されています。
Python 3
Pythonのバージョンは、サポート期限内であれば何でもいいでしょう。
以下は、Python公式開発サイクルです。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月23日 |
3.7 | 2018年6月27日 | 2023年6月27日 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年10月4日 | 2026年10月 |
つまり、2022年時点であれば、Python 3.7以降でOKと言えます。
Python 3.10でも問題なく動作することは確認済みです。
そして、サポートOSに関しては以下を含むクロスプラットフォーム対応だろうと思います。
特に明示されていないので、推測でしかありません。
- Windows
- macOS
- Linux
上記のうちでは、WindowsとLinuxでは動作確認ができました。
macOSに関しては、検証できる環境がありません。
それ以外のシステム要件としては、requirements.txtに必要なパッケージが記載されているぐらいです。
requirements.txt
opencv-python numpy tqdm
それぞれのパッケージは、以下の記事で説明しています。
ただし、それぞれのパッケージを個別にインストールする必要はありません。
あとで、一括でインストールします。
以上、Tilerのシステム要件を説明しました。
次は、Tilerのインストールを説明します。
Tilerのインストール
検証は、次のバージョンのPythonで行います。
> python -V Python 3.10.4
インストールを行う上で、gitコマンドを利用します。
もちろん、プロジェクトをGitHubからダウンロードしても構いません。
ただ、gitコマンドは便利です。
Windowsの場合でも、インストールをオススメします。
Linuxであれば、デフォルトでgitコマンドが利用できるはずです。
ディストリビューションにもよりますが、UbuntuではGitがデフォルトでインストール済みとなります。
では、まずはGitHubからプロジェクトを取得します。
git clone https://github.com/nuno-faria/tiler.git
ダウンロードが完了したら、内容を確認です。
$ cd tiler/ $ ls LICENSE.md README.md conf.py gen_tiles.py images requirements.txt tiler.py tiles
ここで事前にインストール済みパッケージの状況を確認しておきます。
$ pip list Package Version ---------- ------- pip 22.1.2 setuptools 62.4.0 wheel 0.36.2
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
最後に、Tilerに必要なパッケージをインストールします。
必要なパッケージのインストールには、次のコマンドを用います。
pip install -r requirements.txt
インストールは、すぐに終わります。
終了したら、どんなパッケージがインストールされたのかを確認します。
$ pip list Package Version ------------- -------- numpy 1.22.4 opencv-python 4.6.0.66 pip 22.1.2 setuptools 62.4.0 tqdm 4.64.0 wheel 0.36.2
requirements.txtに記載されていたモノが、インストールされていますね。
以上、Tilerのインストールを説明しました。
次は、Tilerの動作確認を行います。
Tilerの動作確認
加工したい画像を用意します。
test.jpg
プログラムを実行する場所は、tilerディレクトリとします。
$ ls LICENSE.md README.md conf.py gen_tiles.py images requirements.txt tiler.py tiles
tilesディレクトリの下には、以下のディレクトリが存在しています。
├─at │ └─gen_at ├─circles │ ├─gen_circle_100 │ └─gen_circle_200 ├─clips │ └─gen_clip ├─hearts │ └─gen_heart ├─lego │ ├─gen_lego_h │ └─gen_lego_v ├─lines │ ├─gen_line_h │ └─gen_line_v ├─minecraft ├─plus │ └─gen_plus ├─times │ └─gen_times └─waves └─gen_wave
これらのディレクトリを指定することにより、適用させたいタイル画像を選べます。
例えば、レゴブロックを適用する場合は次のようなコマンドになります。
python tiler.py ..\base\test.jpg .\tiles\lego\gen_lego_h\
「..\base\test.jpg」は、加工したい画像のパスです。
上記コマンドを実行すると、しばらく待たされます。
マシンのスペックにもよりますが、27秒ほどです。
完了すると、同じディレクトリ上にout.pngが作成されています。
out.png
レゴブロックで画像が作成されています。
少しタイルの間隔が、広いように感じます。
conf.pyの値を変更すれば、この辺も改善できそうです。
以上、Tilerの動作確認について説明しました。