このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Edge Detection
ソーベル法、プレウィット法、ロバーツ法またはキャニー法を使用したイメージ内のオブジェクトのエッジ検出
ライブラリ:
Computer Vision Toolbox /
Analysis & Enhancement
説明
Edge Detection ブロックは、入力イメージ内のオブジェクトのエッジを検出します。ブロックは次の 4 つの手法をサポートします。ソーベル、プレウィット、ロバーツ、キャニー。最初の 3 つの手法では、イメージの勾配の大きさを近似することによってエッジを検出します。その後、ブロックはソーベル カーネル、プレウィット カーネルまたはロバーツ カーネルをそれぞれ使用して入力行列を畳み込み、結果のイメージの勾配成分を出力します。さらに、ブロックは、勾配の大きさをしきい値処理して、エッジ検出のバイナリ イメージを出力します。
キャニー法では、ガウス フィルターの導関数を使用して入力イメージの勾配を計算します。次に、勾配の局所的最大値を探してエッジを検出します。この方法では強いエッジと弱いエッジを検出するために 2 つのしきい値を使用します。強いエッジと連結している場合にのみ、弱いエッジも出力されます。ブロックは、このメソッドのエッジ検出のバイナリ イメージを出力します。
端子
入力
I — 入力イメージ
行列
入力イメージ。強度値の行列として指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
メモ
キャニー法は、8 ビット、16 ビット、32 ビットの符号付き固定小数点整数や 8 ビット、16 ビット、32 ビットの符号なし整数をサポートしていません。
Th — しきい値
スカラー | ベクトル
勾配からエッジを検出するには、しきい値をスカラーまたは 2 要素ベクトルとして指定します。この値のデータ型は、入力イメージのデータ型と一致しなければなりません。キャニー エッジ検出法の場合、しきい値は [0 1] の範囲の 2 要素ベクトルでなければなりません。他の手法の場合、しきい値はスカラーです。
依存関係
この端子を有効にするには、次のようにします。
[メソッド] パラメーターを
[キャニー]
に設定します。別の方法としては、[メソッド] パラメーターを[ソーベル]
、[プレウィット]
、または[ロバーツ]
に設定し、[出力タイプ] パラメーターを[バイナリ イメージ]
または[バイナリ イメージと勾配成分]
に設定します。[ユーザー定義のしきい値] を選択します。
[しきい値のソース] パラメーターを
[入力端子]
に設定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
メモ
キャニー法は、8 ビット、16 ビット、32 ビットの符号付き固定小数点整数や 8 ビット、16 ビット、32 ビットの符号なし整数をサポートしていません。
出力
Edge — エッジ検出
行列
エッジ検出。バイナリ イメージとして返されます。値が 1
のピクセルは、エッジ ピクセルを表します。
依存関係
[メソッド] パラメーターを [キャニー]
に設定すると、この端子は常に有効になります。[ソーベル]
、[プレウィット]
、または [ロバーツ]
のメソッドでこの端子を有効にするには、[出力タイプ] パラメーターを [バイナリ イメージ]
または [バイナリ イメージと勾配成分]
に設定します。
データ型: Boolean
Gv — 垂直方向のエッジに対する勾配の応答
行列
垂直方向のエッジに対する勾配の応答の行列。
依存関係
この端子を有効にするには、パラメーターを次のように設定します。
メソッド —
[ソーベル]
または[プレウィット]
出力タイプ —
[勾配成分]
または[バイナリ イメージと勾配成分]
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Gh — 水平方向のエッジに対する勾配の応答
行列
水平方向のエッジに対する勾配の応答の行列。
依存関係
この端子を有効にするには、パラメーターを次のように設定します。
メソッド —
[ソーベル]
または[プレウィット]
出力タイプ —
[勾配成分]
または[バイナリ イメージと勾配成分]
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
G45 — 45 度のエッジに対する勾配の応答
行列
45 度のエッジに対する勾配の応答の行列。
依存関係
この端子を有効にするには、パラメーターを次のように設定します。
メソッド —
ロバーツ
出力タイプ —
[勾配成分]
または[バイナリ イメージと勾配成分]
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
G135 — 135 度のエッジに対する勾配の応答
行列
135 度のエッジに対する勾配の応答の行列。
依存関係
この端子を有効にするには、パラメーターを次のように設定します。
メソッド —
ロバーツ
出力タイプ —
[勾配成分]
または[バイナリ イメージと勾配成分]
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
パラメーター
メイン
メソッド — エッジ検出法
ソーベル
(既定値) | プレウィット
| ロバーツ
| キャニー
入力イメージのエッジを検出する手法を指定します。[ソーベル]
、[プレウィット]
、[ロバーツ]
、[キャニー]
から選択できます。
出力タイプ — 出力イメージのタイプ
バイナリ イメージ
(既定値) | 勾配成分
| バイナリ イメージと勾配成分
次のいずれかのオプションから出力イメージのタイプを指定します。
バイナリ イメージ
— ブロックは [エッジ] 端子でブール行列を出力します。1
とラベル付けされた行列の要素は、エッジ ピクセルを表します。勾配成分
— ブロックは勾配成分を出力します。メソッドが[ソーベル]
および[プレウィット]
の場合、勾配成分は、[Gh] 端子では水平エッジ応答、[Gv] 端子では垂直エッジ応答にそれぞれ対応します。メソッドが[ロバーツ]
の場合、勾配成分は [G45] 端子では 45 度、[G135] 端子では 135 度のエッジ応答にそれぞれ対応します。バイナリ イメージとイメージの勾配成分
— ブロックはバイナリ イメージとイメージの勾配成分の両方を出力します。
依存関係
このパラメーターを有効にするには、[メソッド] パラメーターを [ソーベル]
、[プレウィット]
、または [ロバーツ]
に設定します。
ユーザー定義のしきい値 — ユーザー定義のしきい値
off (既定値) | on
ダイアログまたは [Th] 端子から、目的のしきい値を指定します。
依存関係
[メソッド] パラメーターを [キャニー]
に設定すると、このパラメーターは常に有効になります。ソーベル
法、プレウィット
法、またはロバーツ
法でこのパラメーターを有効にするには、[出力タイプ] パラメーターを [バイナリ イメージ]
または [バイナリ イメージと勾配成分]
に設定します。
しきい値のソース — しきい値のソース
入力端子
(既定値) | ダイアログにより指定
次のいずれかのオプションから、しきい値を入力するためのソースを選択します。
入力端子
— [Th] 端子を使用してしきい値を指定します。この値のデータ型は、入力イメージのデータ型と一致しなければなりません。ダイアログにより指定
— 目的のしきい値をダイアログ ボックスに入力します。
依存関係
このパラメーターを有効にするには、次のようにします。
[メソッド] パラメーターを
[キャニー]
に設定します。別の方法としては、[メソッド] パラメーターを[ソーベル]
、[プレウィット]
、または[ロバーツ]
に設定し、[出力タイプ] パラメーターを[バイナリ イメージ]
または[バイナリ イメージと勾配成分]
に設定します。[ユーザー定義のしきい値] を選択します。
しきい値 — しきい値
20 (既定値) | スカラー
入力データの範囲内のしきい値を指定します。このしきい値は、ソーベル、プレウィット、およびロバーツのエッジ検出法に適用されます。
依存関係
このパラメーターを有効にするには、次のブロック パラメーターを設定します。
メソッド —
[ソーベル]
、[プレウィット]
、または[ロバーツ]
出力タイプ —
[バイナリ イメージ]
または[バイナリ イメージと勾配成分]
ユーザー定義のしきい値 —
On
。しきい値のソース —
ダイアログにより指定
しきい値、[Low High] — キャニー エッジ検出のしきい値
[0.25 0.60] (既定値) | ベクトル
キャニー エッジ検出のしきい値を、[0 1] の範囲の 2 要素ベクトルとして指定します。ベクトルの各要素は、弱いエッジと強いエッジの下方しきい値と上方しきい値をそれぞれ指定します。
依存関係
このパラメーターを有効にするには、次のブロック パラメーターを設定します。
メソッド —
キャニー
ユーザー定義のしきい値 —
On
。しきい値のソース —
ダイアログにより指定
しきい値のスケール係数: (しきい値の自動計算に使用) — しきい値スケール係数
4
(既定値) | スカラー
しきい値を自動計算するためのしきい値スケール係数を指定します。ブロックは、勾配の大きさを 2 乗したイメージの平均値を使用して自動しきい値を計算し、このパラメーターの値に自動しきい値を乗算して新しいしきい値を決定します。
依存関係
このパラメーターを有効にするには、次のブロック パラメーターを設定します。
メソッド —
[ソーベル]
、[プレウィット]
、または[ロバーツ]
出力タイプ —
[バイナリ イメージ]
または[バイナリ イメージと勾配成分]
ユーザー定義のしきい値 —
Off
エッジ細線化 — エッジ細線化
off
(既定値) | on
出力イメージ内のエッジを細くするには、このパラメーターを選択します。このオプションを使用すると処理時間が長くなり、必要なメモリ リソースが増えます。
ヒント
[エッジ細線化] チェック ボックスをオフにし、[しきい値] パラメーターを使用してしきい値を指定すると、このブロックはメモリ使用量と処理時間に関して最も効率的になります。
依存関係
このパラメーターを有効にするには、次のブロック パラメーターを設定します。
メソッド —
[ソーベル]
、[プレウィット]
、または[ロバーツ]
出力タイプ —
[バイナリ イメージ]
または[バイナリ イメージと勾配成分]
弱いエッジのピクセルと非エッジ ピクセルのおよその割合 (しきい値の自動計算に使用) — 弱いエッジのピクセルと非エッジ ピクセルのおよその割合
70 (既定値) | スカラー
弱いエッジのイメージ ピクセルと非エッジのイメージ ピクセルのおよその割合を指定します。ブロックは、この値を使用して自動しきい値を計算します。
依存関係
このパラメーターを有効にするには、次のブロック パラメーターを設定します。
メソッド —
キャニー
ユーザー定義のしきい値 —
Off
ガウス フィルターの標準偏差 — ガウス フィルターの標準偏差
1 (既定値) | スカラー
キャニー エッジ検出アルゴリズムに使用されるガウス フィルターの標準偏差を指定します。
依存関係
このパラメーターを有効にするには、[メソッド] パラメーターを [キャニー]
に設定します。
データ型
固定小数点ブロック パラメーターの詳細については、ブロックの固定小数点属性の指定 (DSP System Toolbox)を参照してください。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
参照
[1] Gonzales, Rafael C. and Richard E. Woods. Digital Image Processing. 2nd ed. Englewood Cliffs, NJ: Prentice Hall, 2002.
[2] Pratt, William K. Digital Image Processing, 2nd ed. NY: John Wiley & Sons, 1991.
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
[正規化された出力] チェック ボックスをオンにする場合、ブロック入力を固定小数点にすることはできません。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)