kirinwikiblogスマートフォン用の表示で見るkirinwikiblogこの広告は、90日以上更新していないブログに表示しています。2014-02-15手描きからGIMP用作業ファイルに変換クリップアートを公開するサイトを作ってみた。普段しているどうでもいいラクガキを、何か再利用できる形にしてみようかなと思ったので。(サイトはある程度できていて、こんな感じになっている。)まず、適当な紙に描きなぐったラクガキを...普通にスキャンする。自炊用に持っている連続スキャナにポンと突っ込むだけなので楽。スキャナを接続しているコンピュータと、それ以降の処理をするコンピュータがたまたま別なのだけど、dropboxを使って同期させれば何ら気にならない。スキャナの仕様では、モノクロのjpeg画像として取り込むようになっている。クリップアートとして扱いやすくするには透過PNGがいいと思ったので、それを目指してGIMPで処理する。GIMPでやることは、jpeg画像を取り込んで、輪郭をはっきりさせるために二値化処理する。二値化の結果白(つまり輪郭以外)になったところを、色選択して透明に直す。輪郭レイヤの下に着色用の不透明レイヤをひとつ敷き、背景っぽい灰色で塗りつぶす。何度も行うためにscript-fuを書いたが、大体下のようになる。"<Image>/File/Create")この関数は、入力ファイル名(jpeg画像)と出力ファイル名(GIMP用ファイル)を受け取って動作する。0)'とかそんな感じに実行する。叩いてもいいし、別のプログラムからサブプロセスとして叩いてもいい。ところで、あとでこのGIMP用画像に着色したあと、作業用のpng画像に一旦変換することも必要になるので、同様にscript-fuを書いた。GIMP用ファイルを開き、レイヤをすべて統合したpngファイルに落とすだけのもの。"<Image>/File/Create")これら二つのscript-fuは、適当な名前でひとつのファイルにまとめて、GIMPのスクリプトフォルダに放り込んでおけば使える。これが、着色作業中のGIMPの画面で...これが、できあがる実際のPNG画像の一部。クリップアートを切り抜くための目印を含む着色のルールをつくったのだけど、これは次回に書く。noiseをPILでつくった※いまさらながら、これって全然パーリンノイズじゃないよね。noise)ってやつを作ってみたいなと思っていたが、道具さえ選べば簡単だった。まじめにやると、画像の補間法をちゃんと勉強しなければいけないんだけど、pythonのPILモジュールは画像の拡大にバイキュービック法が使えるようだったので、これを活用するとよい。2x2ピクセルのモノクロ画像をつくり、全ピクセル(といっても4つ)を0から255のランダムな明度で埋める。そののち、適当なサイズに拡大する。このときの拡大はバイキュービック法で。できる画像は下のとおり。次に、4x4ピクセルのモノクロ画像をつくって、同じようなことをしてから、さっきと同じサイズに拡大する。