関数 > 画像処理 > エッジ検出 > 例: コンボリューションによるエッジ検出
例: コンボリューションによるエッジ検出
freichensobelprewittroberts関数を使用して、行列に対して各種カーネルをコンボリューションすることで画像内のエッジを検出します。エッジ検出を行うことで、境界に依存する特定のタイプの特徴の判読率を向上させることができます。
この例の使用方法については、画像処理の例についてを参照してください。
freichen
この関数は、画像行列を次の 2 つのカーネルを使用してコンボリューションします。
クリックしてこの式をコピー
クリックしてこの式をコピー
1. 画像を読み込みます。
クリックしてこの式をコピー
2. freichen 関数を画像に適用します。
クリックしてこの式をコピー
クリックしてこの式をコピー
3. 2 つの画像を比較します。
(brain.bmp)
(brain_fre.bmp)
freichen によるエッジ検出は、各種エッジの輝度レベルがそれぞれ異なる画像で便利です。これらのカーネルは、ピクセルの明るさとは関係がなく、ピクセルの相対値により大きな感度を示します。
sobel
この関数は、画像行列を次の 2 つのカーネルを使用してコンボリューションします。
クリックしてこの式をコピー
クリックしてこの式をコピー
入力画像に sobel 関数を適用します。
クリックしてこの式をコピー
クリックしてこの式をコピー
(brain_sob.bmp)
sobel カーネルは、対角ピクセルよりも直交ピクセルに大きな重みを付けて、一貫したエッジ検出を行います。
prewitt
この関数は、画像行列を次の 2 つのカーネルを使用してコンボリューションします。
クリックしてこの式をコピー
クリックしてこの式をコピー
入力画像に prewitt 関数を適用します。
クリックしてこの式をコピー
クリックしてこの式をコピー
(brain_pre.bmp)
prewitt カーネルは直交ピクセルと対角ピクセルの微分値を同等に扱います。
roberts
この関数は、画像行列を次の 2 つのカーネルを使用してコンボリューションします。
クリックしてこの式をコピー
クリックしてこの式をコピー
入力画像に roberts 関数を適用します。
クリックしてこの式をコピー
クリックしてこの式をコピー
(brain_rob.bmp)
roberts カーネルは対角ピクセルの微分値だけを考慮するので、コーナーは強調されてより鮮明になりますが、横長または縦長の小さな特徴はぼけることがあります。
これは役に立ちましたか?