画像処理におけるLaplacian Filter(ラプラシアンフィルタ)の原理や特徴、計算式についてまとめました。
【はじめに】ラプラシアンフィルタとは
ラプラシアンフィルタ(Laplacian Filter)は、二次微分を利用して画像から輪郭を抽出する空間フィルタです。
■入力画像(左)、出力画像(右)
出力画像(フィルタを掛けた後)を見ると、輪郭の部分が白くなっている、つまり画素値が大きいことがわかります。
動画版解説
【計算式】カーネルの導出方法
デジタル画像は離散データなので、微分は差分で計算することができます。
水平方向および垂直方向の画素値の一次微分は次式で表せます。
(1)
二次微分はもう一度差分を取ることで計算できます。
(2)
よって、ラプラシアンは以下のように表せます。
(3)
ラプラシアンの計算結果からカーネルは次のように求まります。
(4)
上式はラプラシアンフィルタのカーネル(4近傍)となります。
ラプラシアンフィルタのカーネルは、4近傍(上下左右)だけでなく、斜め方向の2次微分も加えた8近傍のカーネルも存在します。
(5)
4近傍と8近傍の違いは、「微分を取る近傍の画素数」です。
– | 説明 |
---|---|
4近傍 | 注目画素の上下左右の4画素の二次微分を取る |
8近傍 | 注目画素の上下左右だけでなく斜めも加えた8画素の二次微分を取る |
【計算例】例題
入力画像とラプラシアンフィルタ(4近傍)のカーネルが次のように与えられたとき、出力画像を求めよ。
(6)
解説
入力画像とカーネルを畳み込み演算してやると
(7)
となります。今回は、入力画像の端の画素値は0とします。
また、0未満の画素値は0とします。
となります。すると、出力画像は次のようになります。
(8)
言語 | 解説記事 |
---|---|
Python | ■【Python/OpenCV】ラプラシアンフィルタでぼかし・平滑化 |
C# | ■【C#】ラプラシアンフィルタで画像のぼかし(ノイズ除去) |
まとめ | ■【画像処理入門】アルゴリズム&プログラミング |
コメント
nice!!
Iyyの式の2行目 Iが抜けとりまっせ〜
※それもまた一興様
ご指摘ありがとうございます。
該当箇所を修正致しました。
計算例のカーネルの左右が1になってませんよー
※画像処理で苦戦中の学生 様
ご指摘ありがとうございます!
誤記を修正致しました。
(1)式は前方微分で、(2)式は後方微分になってるんですね。これわかってて表記消したのか、俺の勘違いか
(2)式1段3段の第4項+じゃないかな。
コメントありがとうございます!
ご指摘のとおり{}が無いと計算がおかしくなりますので、修正いたしました。
※LaTeXで数式を記載していたのですが、{}がうまく表示されておりませんでした。