Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

イメージの領域分割での円の検索を使用したイメージのセグメント化

この例では、イメージの領域分割アプリの [円の検索] オプションを使用して、イメージをセグメント化する方法を説明します。円の検索オプションは、イメージを前景要素と背景要素にセグメント化するために使用可能な自動セグメンテーション手法です。円の検索オプションでは初期化が必要ありません。

イメージの領域分割アプリへのイメージの読み込み

イメージをワークスペースに読み取ります。

coins = imread('coins.png');

MATLAB® ツールストリップから、イメージの領域分割アプリを開きます。[アプリ] タブの [イメージ処理とコンピューター ビジョン] セクションで [イメージの領域分割] をクリックします。

SegmentImageUsingFindCirclesInImageSegmenterExample_02.png

アプリのツールストリップで、[イメージの読み込み] をクリックしてから、[ワークスペースからのイメージの読み込み] を選択します。[ワークスペースからインポート] ダイアログ ボックスで、ワークスペースに読み取ったイメージを選択します。イメージの領域分割アプリに、選択したイメージが表示されます。

SegmentImageUsingFindCirclesInImageSegmenterExample_03.png

imageSegmenter コマンドを使用してイメージを指定し、このアプリを開くこともできます。

imageSegmenter(coins);

円の検索を使用したイメージのセグメント化

イメージの領域分割アプリのツールストリップで、[マスクの作成] セクションを展開して [円の検索] をクリックします。

SegmentImageUsingFindCirclesInImageSegmenterExample_04.png

イメージの領域分割アプリで、[円の検索] セグメンテーション オプション用の新しいタブが開きます。

[円の検索] タブで、まず [ルーラー] をクリックして、イメージ内の代表的な円の直径をいくつか測定して大きさの範囲を決定します。円の検索には、直径の下限と上限を指定しなければなりません。[最小値 直径][最大値 直径] フィールドに、すべてのオブジェクトを含むと考えられる値、50 と 150 を設定します。

SegmentImageUsingFindCirclesInImageSegmenterExample_05.png

[円の検索] タブで [円の検索] をクリックします。イメージの領域分割アプリにより見つけられた円が塗りつぶされます。しかし、円の検索では円が 2 つ見つかりません。イメージをより詳細に確認すると、これらのコインの直径が、指定した最小の直径よりもわずかに小さいことがわかります。

SegmentImageUsingFindCirclesInImageSegmenterExample_06.png

最小値をセグメント化されなかったオブジェクトの大きさに調整し、円の検索セグメンテーション操作を再度実行します。今回は、イメージ内のすべてのオブジェクトが [円の検索] でセグメント化されます。

SegmentImageUsingFindCirclesInImageSegmenterExample_07.png

マスク イメージのワークスペースへの保存

セグメンテーションが満足のいく状態になったら、[円の検索] タブのツールストリップで [マスクの作成] をクリックしてマスク イメージを作成します。イメージの領域分割アプリで [円の検索] タブが閉じ、[セグメンテーション] タブに戻ります。セグメント化された円の色が黄色に変わります。マスク イメージを表示するには、[バイナリの表示] をクリックします。

イメージのセグメント化が完了したら、[エクスポート] オプションを使用して、マスク イメージを保存します。また、セグメンテーションのために使用したコードを取得することもできます。

SegmentImageUsingFindCirclesInImageSegmenterExample_08.png

参考

|

関連するトピック