ドキュメンテーション

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

イメージの領域分割のワークフロー

この例は、イメージ セグメンテーションに対する反復アプローチの使用方法を示します。目的の結果が得られるまで異なるメソッドをいくつか試すことができます。

アプリを開いてイメージを読み込む方法の詳細は、イメージ領域分割アプリの実行とイメージの読み込みを参照してください。この例では、膝の MRI 画像を使用します。次のコードを使用して、イメージをワークスペースに読み取り、イメージの領域分割に読み込みます。

I = dicomread('knee1');
knee = mat2gray(I);
imageSegmenter(knee)

イメージの領域分割でしきい値手法を使用したセグメント化

膝のイメージに対するセグメンテーションとして、まずしきい値処理を試します。

[マスクの作成] ツールストリップ グループの [しきい値] をクリックします。アプリに [しきい値] タブが表示されます。グローバル、適応、および手動の複数のしきい値処理手法から選択できます。各オプションを試して、使用するイメージに最適なものを確認してください。それぞれのオプションで使用可能なオプション パラメーターを試してみてください。たとえば、手動オプションではしきい値の指定にスライダーが使用できます。膝のイメージでは前景と背景のピクセル強度の間に明確な違いがありません。しきい値処理は、このイメージのセグメントに最適な選択であるとは思えません。

[キャンセル] をクリックして、結果を受け入れずにメインのセグメンテーション アプリ ウィンドウに戻り、他のセグメンテーション オプションのいずれかを試します。しきい値処理されたマスク イメージを保持する場合は、[マスクの作成] をクリックします。

イメージの領域分割の領域描画によるセグメント化

別の手法として、マスク イメージに含める領域を描画してみることもできます。イメージの領域分割には、四角形、楕円、多角形の描画やフリーハンドによる形状の描画に使用できるツールが用意されています。

[セグメンテーション ツール] エリアの [フリーハンドの描画] オプションをクリックします。カーソルが、十字形に変わります。イメージ上の任意の場所に移動し、マウス ボタンを押して、セグメント化するオブジェクトの輪郭となる形状をイメージ上に描画します。次の図の例は、フリーハンドのオプションを使用して領域を描画したものです。マスク イメージができるまでの進行状況を履歴ウィンドウで確認できます。

マスク イメージを保存します。セグメント化するすべての領域を描画したら、オブジェクトの大まかなセグメンテーションを作成したことになります。このマスク イメージを保存するには、[エクスポート] をクリックします。

イメージの領域分割の動的輪郭を使用したセグメンテーションの調整

例のこの部分では、イメージの領域分割を使用して作成したバイナリ マスクを調整する方法を説明します。イメージの領域分割アプリには、穴の塗りつぶし、動的輪郭を使用した粗いセグメンテーションの仕上げ、その他の操作に役立ついくつかのツールが用意されています。この例では、既存のバイナリ マスク イメージを読み込む方法を説明します。動的輪郭 (Snakes) は自動反復型メソッドです。イメージ内で場所をマークし、イメージ内の識別された領域を動的輪郭により拡張 (または縮小) します。動的輪郭を使用するには、粗いセグメンテーションが既になければなりません。この初期シード マスクの精度は、動的輪郭適用後の最終結果に影響する可能性があります。動的輪郭では [テクスチャの特徴を含める] オプションが使用可能です。

セグメント化する領域内にシード形状を描画します。領域のフリーハンドの描画にはフリーハンド ツールを使用できます (イメージの領域分割の領域描画によるセグメント化を参照)。既存のバイナリ マスクを使用するには、まずセグメント化した元のイメージを読み込みます。元のイメージを読み込んだ後、[マスクの読み込み] をクリックし、イメージの領域分割の領域描画によるセグメント化の例でセグメント化したイメージの結果を指定します。

I = dicomread('knee1');
knee = mat2gray(I);
imageSegmenter(knee)

[動的輪郭] オプションをクリックします。イメージの領域分割の [動的輪郭] タブが開きます。

[実行] をクリックし、動的輪郭を使用してオブジェクトが境界まで塗りつぶされるように領域を拡張します。最初は、既定の動的輪郭メソッド (領域ベース) と既定の反復回数 (100) を使用します。イメージの領域分割の右下隅に処理の進行状況が表示されます。結果を見ると、この手法は 3 つのオブジェクトのうち 2 つでうまく行きましたが、1 つのオブジェクトではセグメンテーションが背景にはみ出していることがわかります。この領域ではオブジェクトの境界がはっきりしていません。

今度は反復回数を変更して動的輪郭のセグメンテーションを繰り返します。操作をやり直すには、反復ボックスで反復回数を 35 に変更し、再度 [実行] をクリックします。セグメンテーションが満足のいく状態になったら、[適用] をクリックします。領域の色が青から黄に変化し、変更が適用されたことを示します。いずれかの領域にあるわずかに不完全な部分を削除する方法については、イメージの領域分割のモルフォロジーを使用したマスクの調整を参照してください。

イメージの領域分割のモルフォロジーを使用したマスクの調整

セグメンテーション手順 (イメージの領域分割のワークフロー) で作成したセグメンテーション マスク イメージが少し不完全で修正したいとします。イメージの領域分割ツールでは、膨張や収縮のようなモルフォロジー ツールが [モルフォロジー] タブに、[塗りつぶし][境界のクリア] といったオプションが [セグメンテーション] タブに含まれます。これらのツールを使用して、マスク イメージを改善できます。

詳細に調べると、マスク領域の 1 つ (イメージの領域分割のワークフローで作成) に小さな穴があります。

イメージの領域分割で [穴の塗りつぶし] をクリックすると、領域内の穴が塗りつぶされます。

参考

|

関連するトピック