ロコリンの雑記

アニメ大好きニートのロコリンのブログ。2015年卒(修士)の社会人。学生時代(2010年)から続けてるブログなのでエントリによっては学生ブログと社会人ブログになっています。時系列から察して。
 
 
このブログについて
ブログ内検索
カテゴリ
プロフィール

ロコリン

Author:ロコリン
2018年5月だけニート(6月から会社員)。2015年3月まで大学院生でした。
趣味:アニメ/Twitter/ゲーム/ニコ動
今(2015年2月更新):プリキュア/プリパラ/アイカツ/ごちうさ/艦これ

外部リンク
Twitter

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ポアソン方程式の数値解法を用いた画像合成できた (長方形領域のみ) - 2010年夏休み自由研究 

今日、ポアソン方程式の数値解法を用いて画像を合成することに成功しました。
ただし、現在可能な合成領域は長方形のみです。

ある画像 (元画像 fS) の一部を別の画像 (対象画像 fT) の一部の領域へ合成するとき、通常は次のような方法をとるはずです。
「元画像の一部の領域をそのまま対称画像の一部の領域に貼り付ける。」
ドット絵とかならこれはよくやる手法ですよね。
しかし、自然画をこの方法で合成すると、違和感があるのが普通です。
合成境界で突然色が不連続的に変わりますからね。

元画像対象画像合成画像 (単純合成)
smg20100811.jpguniverse20100811.jpguniverse_normal20100811.png

そこで、合成境界と連続的に繋がっていて、かつ合成元画像の特徴を反映した画像 f を考えます。
合成領域におけるラプラシアンフィルタが、合成元画像のそれと一致すれば、合成領域内では合成元画像の特徴を持つといえるでしょう。
2f = ∇2fS ((x,y)∈合成領域)
また、対象画像の合成境界と合成領域が連続的に繋がるためには、合成境界の色は対象画像のものとなっているはずです。
f = fT ((x,y)∈合成境界)
これはディリクレ境界条件が定められたポアソン方程式となりますので、解が一意に定まります。

企画書の予定では合成元画像のラプラシアンフィルタと一致することを目指していました。
しかし、どうやらそれは理想論だったようです。
というのも、数値解が画像の量子化の範囲 (0~255) を超えることがあるからです。
なので、元画像のラプラシアンフィルタとの一致ではなく、合成画像の直前の画像との変化がなくなるまでとしました。

それによって完成した画像がこちらです。

合成画像 (単純合成)合成画像 (ポアソン方程式解)
universe_normal20100811.pnguniverse_pie20100811.png

よく見ないと境界がどこかわからないでしょう。
これを最初に考えた人はすごいなぁと思いました。 (私じゃないですよ。『Poisson Image Editing』なる論文がありますので。)
そしてプログラムを作れた私もすごいなぁとぐおっ!

ただし、今のプログラムでは、合成領域を長方形にすることしかできません。
なので、やっぱり微妙に違和感は残っています。

そこで、これからは任意の形の合成領域で合成できるようにしたいと思います。
といっても、今の状態でも結構すごいでshぶへっ!

あと、今は CUI (Character User Interface: 文字ベースの操作) なのですが、現状の操作性は面倒くさいです。
この画像を合成するときの操作がこちらです。 (赤文字が手操作)
>program smg.bmp universe.bmp
合成元画像 (smg.bmp) の選択範囲 (x1,y1)~(x2,y2):
x1 = 810
y1 = 102
x2 = 989
y2 = 275
合成対象画像 (universe.bmp) の合成先領域の左上端 (x,y):
x = 670
y = 398
比較回数 (漸化式を 176 回解く毎に一度) : 4
この数値は、別途ペイントソフト (Windows のペイント) で調べた座標です。
いちいち座標を調べて入力しなければなりません。
こんな操作性では急いで画像を合成したいときや、大量に画像を合成したいときとかは無理だと思います。
なので、将来的には必ず GUI (Graphical User Interface: マウスなどを使った操作) にしなければならないと思います。


追記 (2010年8月11日18時12分頃)
このプログラムをうpしました。
「使ってあげてもいいよ。か、勘違いしないでよね。別にあんたのたm(ry」って人はダウンロードしてください。
  • 画像合成ソフト (長方形領域のみ) (ZIP 版)
  • 画像合成ソフト (長方形領域のみ) (7-ZIP 版)
Linux で実行したい人もいるかもしれませんが、ソースを公開できるほど心が広いわけではないのです。あぅあぅ(羽入)。

追記 (2011年3月17日)
最近、こちらの古いファイルをダウンロードしている人が数人いました。
ダウンロードする場合は、次の記事に載っている最新版をダウンロードしてください。

2010年夏休み自由研究記事一覧

  1. ラプラシアンフィルタ完成 (2010.08.08)
  2. ポアソン方程式の数値解法を実装 (2010.08.09)
  3. ポアソン方程式の数値解法を改良 (2010.08.10)
  4. ポアソン方程式の数値解法を用いた画像合成できた (長方形領域のみ) (2010.08.11)
  5. 任意領域でのポアソン方程式の数値解法を用いた画像合成できた (2010.08.12)
スポンサーサイト
コメント















 管理者にだけ表示を許可する

トラックバック
 
http://rexpit.blog29.fc2.com/tb.php/21-b10d0220
最新記事
最新コメント
FC2カウンタ
欲しい
最近買ったもの
Amazon 検索
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。