GIMPを画像データ処理ツールとして使いこなす
言わずとしれたオープンソースの画像レタッチソフトのGIMP。フリーだしマルチプラットフォームだし多機能ということで画像データの処理に強力なツールになりうるポテンシャルは高いはず。というわけで、GIMPを機械学習に使う画像データ処理ツールとして活用する方法をまとめようと思います。
このGIMP。多機能なのはいいんだけどUIがいまいち精錬されていないし、アート系の初期設定になっているのでそのままでは使いにくいのです。機械学習用のデータともなれば何千枚もの画像を処理することになるので、僅かな使い勝手でも効率には大きく響いてくるということで、自作でプラグインを書くために調べたことを備忘録として残しておきます。
ubuntu18.04 に GIMP2.10 をインストール
機械学習系の環境構築でOSは何を選ぶかと聞かれたら、結構上位にubuntuが入ってくると思うのですが(かなり主観)、ubuntuストアにあるGIMPはバージョン2.8なのです。機能面で叶わない部分があるので2.10をターミナルからインストールします。
手順は以下の通り。それぞれEnterや「y」の入力などは随時行ってください。
(参考: https://www.virment.com/install-gimp-ubuntu/ )
リポジトリの追加とインストール
$ sudo add-apt-repository ppa:otto-kesselgulasch/gimp
$ sudo apt update
$ sudo apt install gimp
これでGIMP2.10がインストールされました。2.10には不具合?のためにこのままではpythonを使ったプラグインが使えません。使えるようにするためには以下のgimp-pythonのインストールが必要です。
gimp-pythonのインストール
$ sudo apt-get install gimp-python
Plug-inのインストール先
作ったPlug-inは特定のフォルダにコピーすることで使えるようになります。
フォルダの参照先はGIMPの
編集 > 設定 >GIMPの設定 > フォルダー > プラグイン
から参照できます。指定先が2つあると思いますが
/home/user_name/.config/GIMP/2.10/plug-ins
の方に作ったプラグインを置きます。もう片方の方はフォルダ全体に権限が掛かっているのでコピーするにはひと手間かかってしまいます。
何はともあれ”Hello World"
とりあえずプラグインが動くか確認するために、下記のスクリプトをsamplePython-fu.py という名前で保存して
/home/user_name/.config/GIMP/2.10/plug-ins
にコピーしましょう。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from gimpfu import *
def plugin_main(image, layer, message):
gimp.message("Hello World! " + message)
register(
"python_fu_hello_world",
"Hello, World! のあとにメッセージを表示します。",
"エラーダイアログを立ち上げてHello World! のあとにメッセージを表示します。",
"maCoto QuoVayashi",
"copyright",
"2019/10/19",
"<Image>/Hello World",
None,
[
(PF_STRING, "message", "メッセージ", 'Hello GIMP!')
],
[],
plugin_main)
main()
実行権限の付与
コピーしたsamplePython-fu.pyもそのままではプラグインとして認識されません。**実行権限を付与する必要があります。**プロパティのアクセス権タグからでもコマンドラインでも、好きな方で実行権限を与えてください。
プラグインが動くことを確かめる
上記の手順が全て終わったらGIMPを立ち上げてみましょう。既に立ち上がっている場合は再起動が必要です。
メニューバーの<ヘルプ>の横に<**Hello World**>というメニューが追加されているはずです。これをクリックしてダイアログが立ち上がれば成功。
imput imageとかimput drawableとかは気にせずメッセージの項目を入力してOKしてください。
Hello Worldのあとにメッセージの欄に入力したものが表示されたエラーダイアログが現れます。