4ヶ月間かけてのんびり勉強したJavaで、画像処理系ツール作ってます。
アルファ値対応で、対応形式はJavaTM Image I/Oで対応してるのならなんでも。
多分pngとjpegは対応してるらしい。うちの環境だとさらにbmpやらgifに対応してたりする。
GUIについて
今更ながらAWTで作るんじゃなかった。
動作軽いし、そう大きなもの作らないからいいじゃんって思ってたらいくつも壁がある。
・ステータスバー作れない。
・「&F」とか「ファイル(F)」みたいなのが作れない。(これが致命的。AWTはキーボードの人は無視かよ。)
・ダイアログで「全てのファイル(*.*)」しか使えない。(Windowsのみ対応していないらしい。ちゃんと作ってほしい)
・バーがスクロールバーしかない。(選択用のバーがほしかった)
といろいろ。
Swing使えばよかった。
ただ今更書き換えるのも面倒。
JavaにてOSのパーツ利用したGUI作るのHSPよりは簡単、
ただボタンはっつけるの位置関係とかややこしかった。
対応した機能
「色」ではコントラスト・ガンマ補正・ホワイトバランス・色相・彩度・明度
「フィルタ」ではソフト(局所・大域・ガウス)・シャープ(シャープ・アンシャープ)・面を刻む・メディアンフィルタ・エッジ保持フィルタ
補足
面を刻むってのはお馴染みのkuwahara filter。
エッジ保持フィルタってのは、選択的局所平均化法ってやつ。(selective local color averaging)
今回、アルゴリズムを初めて実装したのはホワイトバランスとアンシャープってやつ。
ホワイトバランス
普通に、お馴染み濃度変換で作れた。
Komin’s photos on the netさんのデジタルカメラ撮影画像のホワイトバランス調整
ここが参考になりました。
アンシャープ
Canonのフォトレタッチの説明をみて実装してみた。
フィルタ処理と演算処理みたいなもので作れる。
公開したいんだけど、難読化の方法が分からないという。
Eclipseで開発してるんだけど、そのままエクスポートする時に自動的に難読化してくれる方法ってないのかな。
知ってたら誰か丁寧に教えてください^^
exe化するとアイコンへファイルのD&Dできるから便利。
完成した画像処理のツールは、こちらから試すことが出来ます。
コメント