主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

边缘

グレスケルメジ内のエッジの検出

説明

BW=边缘(は,1(グレスケルメジまたはバナリメジで関数がエッジを検出した場所)と0(その他の場所)を含むバ▪▪ナリ▪▪メ▪▪ジBWを返します。既定では,边缘は,ソ,ベルエッジ検出法を使用します。

BW=边缘(方法は,方法で指定されたエッジ検出アルゴリズムを使用して▪▪メ▪▪ジ内のエッジを検出します。

BW=边缘(方法阈值は,強度が阈值より高いすべてのエッジを返します。

BW=边缘(方法阈值方向は検出するエッジの方向を指定します。ソ,ベル法とプレウィット法は垂直方向,水平方向または両方でエッジを検出できます。ロバ法は、角度が水平から 45°、水平から 135° または両方でエッジを検出できます。この構文は、方法“索贝尔”“普瑞维特”または“罗伯特”の場合にのみ有効です。

BW=边缘(___, ' nothin ')はエッジ細線化段階をスキップします。これによりパフォ,マンスが改善されることがあります。この構文は,方法“索贝尔”“普瑞维特”または“罗伯特”の場合にのみ有効です。

BW=边缘(方法阈值σは,フィルタ,の標準偏差σを指定します。この構文は,方法“日志”または“精明”の場合にのみ有効です。

BW=边缘(方法阈值hは指定したフィルタh“zerocross”法を使用してエッジを検出します。この構文は,方法“zerocross”の場合にのみ有効です。

BWthreshOut= edge(___は,しきい値も返します。

BWthreshOut全球之声“大酒店”= edge(___は方向勾配の大きさも返します。ソ,ベル法とプレウィット法では,全球之声“大酒店”は垂直勾配と水平勾配に対応します。ロバ法では,全球之声“大酒店”はそれぞれ水平から角度45°の勾配と135°の勾配に対応します。この構文は,方法“索贝尔”“普瑞维特”または“罗伯特”の場合にのみ有効です。

すべて折りたたむ

グレスケルメジをワクスペスに読み取って表示します。

I = imread(“circuit.tif”);imshow(我)

图中包含一个轴对象。axis对象包含一个image类型的对象。

キャニ,法を使用してエッジを検出します。

BW1 = edge(I,“精明”);

プレウィット法を使用してエッジを検出します。

BW2 = edge(I,“普瑞维特”);

両方の結果を並べて表示します。

imshowpair (BW1 BW2,“蒙太奇”

图中包含一个轴对象。axis对象包含一个image类型的对象。

入力引数

すべて折りたたむ

入力▪▪メ▪▪ジ。2次元グレースケール イメージまたは 2 次元バイナリ イメージとして指定します。

“approxcanny”法の場合,デ,タ型またはの@ @メ@ @ジは[0,1]の範囲で正規化されていなければなりません。が[0,1]の範囲外の値を持場合,関数重新调节を使用して,想定される範囲に値を再スケ,リングできます。

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

エッジ検出法。次のいずれかに指定します。

メソッド 説明
“索贝尔”

微分係数にソ,ベル近似を使用しての勾配が最大になる点,まりエッジを検出します。

“普瑞维特”

微分係数にプレウィット近似を使用して,の勾配が最大になる点,まりエッジを検出します。

“罗伯特” 微分係数にロバ近似を使用して,の勾配が最大になる点,まりエッジを検出します。
“日志” ラプラシアンガウシアン(LoG)フィルタ.でをフィルタ,処理してからゼロクロッシングを探してエッジを検出します。
“zerocross” 指定したフィルタhをフィルタ,処理してからゼロクロッシングを探してエッジを検出します。
“精明”

の勾配の局所的最大値を探してエッジを検出します。関数边缘はガウスフィルタ,の導関数を使用して勾配を計算します。この方法では強いエッジと弱いエッジを検出するために2のしきい値が使用されます。強いエッジと連結している場合にのみ,弱いエッジも出力されます。キャニー法は2つのしきい値を使用することにより他の方法よりノイズの影響を受けにくく,弱いエッジを正確に検出できる可能性が高くなります。

“approxcanny”

キャニ,エッジ検出アルゴリズムを近似したバ,ジョンを使用してエッジを検出します。検出の精度は下がりますが,実行時間が短縮されます。浮動小数点@ @メ@ @ジは[0,1]の範囲内で正規化する必要があります。

感度のしきい値。任意の方法に数値スカラ,または2要素ベクトル(“精明”法および“approxcanny”法の場合のみ)として指定します。边缘は強度が阈值以下のエッジをすべて無視します。このパラメタの詳細にいては,アルゴリズムを参照してください。

  • 阈值を指定しない場合、または空の配列([])を指定した場合,边缘は(複数の)値を自動的に選択します。

  • “日志”法および“zerocross”法の場合,しきい値0を指定すると,出力。これは出力メジに入力メジ内のすべてのゼロクロッシングが含められるからです。

  • “精明”法と“approxcanny”法は2のしきい値を使用します。边缘はエッジ強度が下限しきい値を下回るすべてのエッジを無視し,上限しきい値以上の強度のエッジをすべて維持します。阈值を範囲[0,1]での値を持,(低高)形式の2要素ベクトルとして指定できます。阈值边缘がさらに高いしきい値に割り当てる,数値スカラ,としても指定できます。この場合,边缘阈值* 0.4を下限しきい値として使用します。

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

検出するエッジの方向。“水平”“垂直”または“两个”のいずれかに指定します。方向引数は,方法“索贝尔”“普瑞维特”または“罗伯特”の場合にのみ有効です。

メモ

ロバ方法を選択した場合,“水平”方向は,実際には水平から角度135°のエッジを検出し,“垂直”方向は,水平から角度45°のエッジを検出します。

デ,タ型:字符|字符串

フィルタ。数値行列として指定します。h引数は“zerocross”法のみでサポ,トされます。

デ,タ型:

フィルタ,の標準偏差。数値スカラとして指定します。σ引数は“精明”法および“日志”法のみでサポ,トされます。

メソッド 説明
“精明”

ガウスフィルタ,の標準偏差を指定するスカラ,値。既定の設定は√6 (2)です。边缘σに基づいて自動的にフィルタのサズを選択します。

“日志”(ガウスのラプラシアン)

ガウスのラプラシアンフィルタ,の標準偏差を指定するスカラ,値。既定の設定は2です。フィルタのサズはnn列で,n =装天花板(σ* 3)* 2 + 1です。

デ,タ型:

出力引数

すべて折りたたむ

出力バ@ @ナリ@ @メ@ @ジ。1で関数がエッジを検出した場所)と0(その他の場所)を含むと同じサescズの逻辑配列として返されます。

計算で使用された計算済みしきい値。“精明”方法では2要素ベクトル,“approxcanny”法では空のベクトル([])または他のすべてのエッジ検出法では,数値スカラ,として返されます。

垂直方向勾配。と同じサ@ @ズの数値配列として返されます。

メモ

ロバ方法を選択した場合,边缘は水平から角度45°で計算される勾配を返します。

水平方向勾配。と同じサ@ @ズの数値配列として返されます。

メモ

ロバ方法を選択した場合,边缘は水平から角度135°で計算される勾配を返します。

アルゴリズム

  • 勾配度エッジ検出法(ソーベル法,プレウィット法,およびロバーツ法)の場合,計算した勾配度のしきい値を設定するために边缘阈值を使用します。

  • ガウスのラプラシアン法などのゼロクロス法の場合,ゼロクロッシングのしきい値として边缘阈值を使用します。まり,ゼロをまたいで大きくジャンプするとエッジになり,小さくジャンプするとエッジになりません。

  • キャニ法では勾配に2のしきい値を適用します。低いエッジ感度には上方しきい値,高いエッジ感度には下方しきい値を適用します。边缘は低い感度結果から始まり,高い感度結果の連結されたエッジピクセルを含むように感度を高めていきます。これは検出されたエッジ内の隙間を塗ります。

  • いずれの場合でも,边缘には入力デ,タに応じて既定のしきい値が発見的に選択されます。しきい値を変えるには,边缘を1回実行し,計算されたしきい値を2番目の出力引数として取得する方法をお勧めします。次に,边缘によって計算された値から開始し,しきい値を高くして,検出するエッジピクセル数を減らす,または低くしてエッジピクセル数が増えるように調整します。

参照

[1] Canny, John,“边缘检测的计算方法”,《IEEE模式分析与机器智能汇刊》,PAMI-8卷,第6期,1986,第679-698页。

[2] Lim, Jae S.,二维信号和图像处理,恩格尔伍德悬崖,新泽西州,Prentice Hall, 1990,第478-488页。

[3] Parker, James R.,图像处理和计算机视觉算法,纽约,John Wiley & Sons, Inc., 1997,第23-29页。

拡張機能

バ,ジョン履歴

R2006aより前に導入

すべて展開する

R2011aでの動作変更