ロコリンの雑記

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

ロコリン

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

外部リンク
Twitter

スポンサーサイト 

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

ラプラシアンフィルタ完成 - 2010年夏休み自由研究 

今年の夏休みは画像合成ソフトを作ろうと思っています。
今日はラプラシアンフィルタを作りました。


ラプラシアンフィルタとは、画像をスカラー場 (位置を与えるとスカラー値が定まる関数) と考えたとき、画像の勾配 (gradient) の発散 (divergence) を演算した結果のことです。
説明のために次のベクトル微分演算子 ∇ (読みは「ナブラ」) を導入します。

\[\nabla=\sum_{k=1}^n\boldsymbol{e}_k\frac{\partial}{\partial x_k}\]
ここで、e1, e2, …, enn 次元実ベクトル空間 \(\mathbb{R}^{n}\) の標準基底、x1, x2, …, xn は独立変数とします。
画像は 2 次元実ベクトル空間 \(\mathbb{R}^{2}\) 上のスカラー場なので、n=2とし、x=x1y=x2とするとイメージがつかめるのではないでしょうか。
\[\nabla=\boldsymbol{e}_1\frac{\partial}{\partial x}+\boldsymbol{e}_2\frac{\partial}{\partial y}\]
スカラー場fの勾配gradf
\[{\rm grad}f=\nabla f=\boldsymbol{e}_1\frac{\partial f}{\partial x}+\boldsymbol{e}_2\frac{\partial f}{\partial y}\]
であり、これはベクトル場となります。ababの内積 (スカラー積、ドット積) とすると、ベクトル場A=A1e1+A2e2の発散divA
\[{\rm div}\boldsymbol{A}=\nabla\cdot\boldsymbol{A}=\frac{\partial A_1}{\partial x}+\frac{\partial A_2}{\partial y}\]
であり、これはスカラー場になります。
ラプラシアンとは、スカラー場の勾配の発散のことです。
ベクトルに累乗という演算はないのですが、ラプラシアンについては頻出の演算なので、特別に \(\nabla\cdot\nabla=\nabla^{2}\) と書くことが多いです。
なので、スカラー場fのラプラシアンは
\[\nabla^2f=\nabla\cdot\nabla f=\frac{\partial^2f}{\partial x^2}+\frac{\partial^2f}{\partial y^2}\]
と表すことができます。

この演算を画像に対して行った結果が以下になります。なお、ラプラシアンの結果は負になることもありますので、その絶対値を取りました。絶対値が量子化の最大値 (255) を超えることもあるので、それを強制的に最大値 (255) にしました。また、画像の端については、その周りが 0 (暗) で囲まれているものとしているため、背景が黒くない画像ではどうしても端だけが特別扱いとなってしまいます。

元画像 出力画像 出展
pocketwatch.jpg pocketwatch_out.png 自作
P1040134.jpg P1040134_out.png 家族
randy20100808.jpg randy20100808_out.png 家族
orz.png orz_out.png 自作
smb20100808.png smb20100808_out.png ゲーム
ab20100808.png ab20100808_out.png アニメ
neet.jpg neet_out.png TV
shutdown20100808.png shutdown20100808_out.png OS

これを見てわかることは、ラプラシアンフィルタはエッジ (境界) をうまいこと抽出してくれる演算だということです。これは画像の特長ともいえます。
こいつを使って画像を合成するソフトを作りたいと思います。そういう論文がすでにあるので私の発明ではないのですが。

なお、ビットマップファイル読込のライブラリは『物理のかぎしっぽ』さんのものを使わせていただいています。
こちらのサイトのおかげで、ビットマップの読込で悩むことなく、すぐにラプラシアンフィルタの作成に着手することができました。

これから作るソフトの企画書も見たければ見てください。
企画書

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/18-723ef7fa
最新記事
最新コメント
FC2カウンタ
やりたいゲーム

艦これはやってる

神姫PROJECT かんぱに☆ガールズ オンラインゲーム ロードオブワルキューレ オンラインゲーム
欲しい
最近買ったもの
Amazon 検索
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。