ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

エッジ検出

イメージの中では、エッジはイメージ強度が急激に変化する経路に沿った曲線です。エッジはしばしばイメージ内のオブジェクトの境界に関係しています。エッジ検出はイメージの中のエッジを特定するために使用されます。

エッジを見つけるには、関数 edge を使用できます。この関数は、次の 2 つの条件を使用してイメージの中で強度が急速に変化する場所を探します。

  • 強度の 1 次微分が指定されたしきい値より大きい場所

  • 強度の 2 次微分がゼロクロッシングをもつ場所

edge は微分推定器を複数提供し、そのそれぞれが上記の定義の 1 つを実装します。これらの推定器の中には、水平エッジ、垂直エッジまたは両方に対する感度を演算にもたせるかどうかを指定できるものがあります。edge はエッジが見つかった場所に 1、その他の場所には 0 が入ったバイナリ イメージを返します。

edge が提供する最も強力なエッジ検出法はキャニー法です。キャニー法は他のエッジ検出法と違って、2 つの異なるしきい値 (強いエッジと弱いエッジの検出用) を使用し、強いエッジに接続する弱いエッジのみを出力に含めます。したがって、他の方法よりノイズの影響を受けにくいので、弱いエッジを正確に検出できる可能性が高くなります。

イメージ内のエッジの検出

この例では、キャニー エッジ検出器とソーベル エッジ検出器の両方を適用してイメージのエッジを検出する方法を説明します。

イメージを読み取り、それを表示します。

I = imread('coins.png');
imshow(I)

ソーベルおよびキャニー エッジ検出器をイメージに適用し、両方の適用結果を表示して比較します。

BW1 = edge(I,'sobel');
BW2 = edge(I,'canny');
figure;
imshowpair(BW1,BW2,'montage')
title('Sobel Filter                                   Canny Filter');