関数 > 画像処理 > エッジ検出 > Canny エッジ検出
Canny エッジ検出
canny(M, sigma, low, high) - 標準偏差 sigma とヒステリシスしきい値 low および high を使用した、行列 M の Canny エッジ検出によって得られた 2 値のエッジ画像を返します。検出行列では、エッジの点は値が 1、背景は値が 0 になっています。カーネルは画像の縁とは完全に重なっていないので、画像の縁の値は未定義になっています。
この関数は、画像内のエッジを検出するのに Canny アルゴリズムを使用します。Canny エッジ検出アルゴリズムは次の 3 つの段階から成ります。
1. 入力画像をガウス微分カーネルを使用してコンボリューションします。ここで、sigma はガウスの標準偏差です。sigma はエッジの尺度パラメータとしての役割を果たします。sigma の値が大きいとエッジが粗くなり、sigma の値が小さいとエッジは細かくなります。sigma の値が大きくなるにしたがい、ノイズ抑制効果も高くなります。
2. 各ピクセルの輝度の勾配の方向に沿って極大以外の点を抑制します。
3. ヒステリシス法を用いて、上下しきい値による取捨選択を行います。ヒステリシス法では最初に、ピクセル値勾配の下しきい値を基準にして、ピクセルをふるいにかけます。下しきい値を超えているピクセルが "仮採用" となります。次に、そのピクセルに隣接するセグメントに着目します。セグメントの中に、上しきい値を超えるピクセルが 1 つでも存在すれば、"仮採用" ピクセルは "本採用" となり、エッジの一部として認識されます。
引数
M は画像行列です。
sigma はゼロより大きい実数です (通常は 2 未満)。
lowhigh は実数で、low < high です。
これは役に立ちましたか?