サポートしているファイル形式は、bmp, jpg, png, gif, tiffの5種類で、bitmapに於けるPixel Formatは、1bppIndexed,4bppIndexed,8bppIndexed,24bppRGB,32bppRGBの5種類で、16bpp及びARGB,PARGBはサポートしていない
プルダウンメニューのOpenで画像ファイルを開く。ドラッグ&ドロップによるファイルオープンはうっかり忘れました。次のバージョンで実装します。
Closeでファイルを閉じます。Closeの他に、Save, Save Asでファイルを保存すると、Undo機能は使えなくなります
ウィンドウのタイトルバーにファイル名と表示スケール(%)、ステータスバーに画像サイズとbppが表示される
Fit Windowでウィンドウ内に画像全体を収めるスケールにフィットして表示する
Zoomのポップアップメニューで、5〜1000%までの中からスケールを指定して表示出来る
Zoom Up, Zoom Dnで、Zoomで選択可能なスケールを一段階づつ変化させて表示する
Ctrl + Shift + Zにより、100%表示する
Undoで、何等かの改変を無効化する。要するに元に戻す。ドライブに余裕がある事が前提であるが、直近100回分の変更を無効化出来る
Cropで、画像のトリミングを行なう。ありがちな手法はマウスで選び取る範囲を指定する方法であるが、敢えて数値指定により選び取る範囲を決定する。1ピクセル単位で指定したい場合にはこの方が簡便な場合が多い
Resizeで、拡大,縮小,変形を行なう。縦横いずれかの数値を変更した後で、keep ratioボタンをクリックすると、縦横比を元画像に合わせた数値にする。その場合は最後に変更した数値を基準にする
インターポーレーション(補間)については、拡大にバイキュービック(bi-cubic)、縮小にはエリア平均法(area averaging)により補間される。縦横で拡大と縮小が混在する変形の場合は、これらのメソッドも混用される。
インターポレーションを利用する場合は、改変後のbitmapは24bppとなる
インターポレーションを行なわない(チェックを外す)場合には、ニアバイ法が採用され、bitmapの場合にはオリジナルのbppとトゥルーカラーとしての24bppの選択が可能になる
Rotateで、回転させる。90度単位はプルダウンメニューを用意した。Arbitraryで任意の角度を入力して回転させる。90度単位の場合はオリジナルのbppを継承するが、それ以外の角度では24bppとなる
Flipで、左右乃至上下を反転させる。Verticalで上下を、Horizontalで左右を、反転させる
Color Processingで、メディアンカットによる減色,基本カラーやイーブンカラーもしくはユーザー作成のカラーパレットを使用してカラー変換を行なう。その場合、誤差拡散法(error dispersion)の使用が選択可能になる。
唯単に、24bppに変換する事も出来る。その場合は、誤差拡散法は無効になる。
誤差拡散法を使用せずに減色するという事は、ポスタリゼーションを行なうに等しい。均等配分のポスタリゼーションは、イーブンカラーを選択する事で可能になる
Gray Scaleで、2〜256階調のグレイスケールに変換する。
256階調はグレイスケールとしてはトゥルーカラーに相当する。故に、誤差拡散法は無効となる(必要ない)。128階調以下の場合は、誤差拡散法の使用が選択可能になる
Black and Whiteで、白黒の2色に変換する。
白黒の分岐には、メディアンカットとスレッショルド(閾値)指定の二つの方法がある。スレッショルド指定の場合は、事前にヒストグラムをモディファイしておく事も出来る。通常、スレッショルドのみの調整で十分だろう
Invertで、単純にカラー反転させる。所謂ネガティブにする。オリジナルのbppとトゥルーカラーとしての24bppの選択が可能である
Posterizationで、均等配分のカラー変換を行なう。RGBを全て同じ均等にする事と、RGB各々個別にレベル(段階)数を指定して均等配分する事が出来る
Histogram Modifyで、ヒストグラムを改変する。使用されている元画像のカラー範囲を指定の範囲に変換する。デフォルトは0〜255となっており、これはヒストグラム伸長に等しい。チェックを外すとそのカラーは変換されない
フィルタリングとは、文字通りフィルターにかけるエフェクトの事で、以下に記す様な効果を得られる。フィルターはオペレータ、また即物的にマスク、などと呼ばれる事も多い。
有名なオペレータはほとんど実装していると思う。また、ユーザが独自のオペレータを作成してエフェクトする事も出来る
smoothingは、ぼかしとも言われる様に、全体に滑らかな発色にする。ノイズもある程度除去する事も出来るのだが、エッジを潰してしまう効果もある。gaussian, mean average, weighted averageが有名でそれぞれサイズ違いを用意した。他にselected smoothingがある
edge-preservingはsmoothingの一種であるが別メニューにしてある。これはエッジを残しながら画像を滑らかにする。その基準として、レンジ,分散,標準偏差を選択出来る。通常は分散で良いだろう。というか、どれも結果に大差は無い
sharpening(尖鋭化)にはhigh-passフィルターをサイズ違いでふたつ用意した。あまりやり過ぎると不自然な画像になってしまう
edge detection(エッジ抽出)には、sobel, prewitt, kirsh, gradientの方位のあるオペレータには、vertical, horizontal, oblique, vertical + horizontalの4つの選択が可能になる。方位の無いオペレータとして、laplacian, line, nippleそれぞれ数種類を用意している
de noise(ノイズ除去)はメディアン法に限る。サイズ違いを3種類用意した
user definedとしては、3x3, 5x5の2サイズから選択出来る
Tilingの為の設定には、大別してカラー設定とタイル設定のふたつがある
カラー設定で、convert colorのチェックを外すとトゥルーカラーで処理される。チェックした場合は、メディアンカットに依る減色,イーブンカラー,ユーザパレットの3種のカラーパレットから選択する
減色は、256〜2色までの2の乗数から選択する。イーブンカラーは、11のプリセットパレットから選択する。ユーザパレットは、ユーザが予めCSVファイルで作成したカラーパレットファイルを選択する。
ユーザパレットはCSVファイルで簡単に作成出来る。実際のタイルセットの各色をRGB値で登録しておけば、そのタイルセットでタイル画を作った場合のシミュレータとなる
タイルの設定は、そのサイズもしくは縦横のタイル数を設定する。但し、タイル数を設定する場合は近似値になる。
更に、スリットのピクセルサイズと縦横それぞれのカラーを指定する。スリットはタイル目地を考慮したものです。スリットカラーは6段階のグレイを用意してある。トゥルーカラーの場合は指定のグレイになるが、減色をする場合には、パレットに存する最も近い色になる。
右の2つの画像は、どちらもたったの16色に減色してタイリングしたもので、左がメディアンカットによる減色、右がイーブンカラーの16色へのコンバートである
イーブンカラーで色数を少なくするとポスタリゼーション的な効果が現れる。効果の仕組みは同じです
余談だけれど、顔バレしたくない画像をSNSなどにポストする際に、タイリング画像を使ったりします
ここまでやる必要は無いでしょうけれど。右画像は2色へ減色したもので、横のスリットをライトグレイ,縦のスリットをディープグレイに設定する事で、コンバートされる2色に割り振ってある
右側の画像はタイルサイズを倍に設定したもので、表情はおろか人体の輪郭もより歪になった
他に、スリットサイズを太くする事で、格子を通して観た風景の様に見せたり、いろいろ遊べると思う
右画像はイーブンカラーの16色にコンバートした時のデザインテーブルです
まず基本的なファイル情報が表示されます。次いで、トゥルーカラーの場合は、スリットと個々のタイルのRGB値のテーブルが表示され、減色した場合は、先ずは、パレットカラーのRGB値が表示されます。そして、パレットをインデックスとして、スリットカラーのインデックスと個々のタイルのインデックスが表示されます
これらの情報は、CSVファイルとして出力(セーブ)出来ます。特定のインデックス(タイルカラー)が幾つあるか(その色のタイルが何枚必要か)
などの集計も、表計算ソフトで簡単に出来るでしょう、自動集計します