皆さん、こんにちは!
上越市を拠点にし、「FA設備・装置開発」と「画像処理」に強い会社、NSIです!
私達は豊富な経験と専門知識で、各種業界の自動化・システム化のお手伝いをしています。
10月も半ばに入り、過ごしやすい日が続いています。
もうすぐ紅葉の時期なので、近くを散歩してみるのも気分転換に良さそうです。
久しぶりの画像処理解説です!
今回は「ソーベルフィルタ」の仕組みについて解説していきます。
ぜひご覧ください!
ソーベルフィルタとは?
ソーベルフィルタとは、画像のエッジ検出を行うためのフィルタです。
エッジとは画像内の色の変化が急激に起こる部分を指します。
ソーベルフィルタは、画像内の変化の度合い(勾配)を計算し、エッジを強調します。
ソーベルフィルタ処理の流れ
① 画像上のピクセルを3×3分取得します。(図では○部分の目の付近を例にしています。)
② 中心にある144が強調したい値です。
③ カーネルと呼ばれるフィルタ行列を使い、X Y方向の勾配を計算します。
このカーネルの値は標準化されており、画像の勾配を最も効果的に計算するように設計されています。
③の計算式)
それぞれの輝度値をカーネルに当てはめて勾配を計算します。
・Gx(X方向の勾配)
(78×-1)+(154×0)+(150×1)+(165×-2)+(144×0)+(160×2)+(156×-1)+(157×0)+(152×1)= 58
・Gy(Y方向の勾配)
(78×1)+(154×2)+(150×1)+(165×0)+(144×0)+(160×0)+(156×-1)+(157×-2)+(152×-1)= -86
④ 各勾配を元に、エッジの強さ(勾配の大きさ)を計算します。
④の計算式)
最終的なエッジの強度は「√Gx²+Gy²」で求められます。
√58²+(-86)² = √3364+7396 = √10760 = 103.73…
よって、最終的な輝度値は104となります。
⑤ 同じように、他のピクセルも同様に平均値を算出します。
片方向だけ強調してみると?
基本的にはXYの両方向の勾配を元に強調しますが、片方向だけを強調することも可能です。
補足:X方向を例とした場合の画像の見方
X方向に走査し、輝度の変化が大きい部分をエッジとして表示するため、縦線が強調されます。
つまり、X方向の場合は縦線が、Y方向の場合は横線が強調されるよ。
メリットとデメリット
ソーベルフィルタのメリット・デメリットについて考えてみました。
メリット:エッジの強調
XY方向の勾配を同時に計算することで、画像内のエッジを強調することができます。
片方向だけを強調することも可能なため、例えば画像内の縦線だけを強調することもできます。
デメリット:エッジ向きの依存とノイズ誤検出
ソーベルフィルタは水平方向と垂直方向のエッジを検出します。
エッジが斜めの場合は、他のフィルタ(ガウシアンフィルタやラプラシアンフィルタ)の方が効果的な場合があります。また、画像内に強いノイズが含まれている場合、エッジとして誤検出する可能性があります。
活用例
メリット・デメリットを踏まえ、活用例を考えてみました。
例1.輪郭抽出
エッジを強調することで、対象物の輪郭を抽出することが可能です。
対象物と背景が似たような色でも抽出できるため、例えば金属の刻印などを抽出することができます。
ソーベルフィルタの後に、二値化を組み合わせることで、より鮮明に見えるね。
例2.物体検出
例1でも挙げましたが、対象物の輪郭抽出ができることで、それを元に画像内の物体の位置を特定することができます。 例えば、ドライブレコーダーのカメラ映像に適用することで、道路標識や歩行者などの位置を認識することが可能です。
最後に
今回は ソーベルフィルタ について解説しました。
画像内の変化の度合いから、エッジを強調する効果があります。
まだまだ色々な処理について解説していきます!
「画像処理」タグから定期的にチェックしてみてくださいね。
ここまで読んでいただき、ありがとうございました。
ご質問・ご要望・ご相談などは、下記お問い合わせフォームからお気軽にご連絡ください。
http://www.net-nsi.co.jp/toiawase.html
この記事が役に立ったらGoodボタンを押してね~