2007年5月3日木曜日

というわけでネガポジ反転ソフト作ってみた。

というわけで、前回作成した下図の
ニアレストネイバーによるReScaleするソフトを
たたき上げに作ってみる。
といっても画像表示部分だけ流用するだけで、
アルゴリズム的にはもっと簡単である。
# ニアレストネイバーによるReScaleはC#ではメソッド化
# されているので簡単といえば簡単
# 標準のはだめだったので自作はしましたが…
# まぁ簡単なAffineTransfer(アフィン変換)で済みます。



今回は以下のような感じ。
何気に副産物としてバグを発見し、
前回作成したソフトのバージョンアップ。
# Graphics.DrawImageでビットマップを表示するとき、
# スケール指定しないとうまく出ない画像もあった。
# まぁそれを指定するようにしただけ。



濃淡反転(ネガポジ反転)すると下のようになる。
before(r,g,b) -> after(255-r,255-g,255-b)

まぁはっきりこれだけですね。
ただBitmapからピクセル単位に画素値取り出して、
論理積をしてるので初手では時間がかかる。
2度目以降は結構速いから、
どっかのレジスタにごにょごにょしてるのかもしれない。
まっとうに画像処理するならもっと違う方法でやらんと…。



bin/srcの公開を求むような奇特な人には、
まぁ個別で対応します。

0 件のコメント:

コメントを投稿