ドキュメンテーション

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

イメージの領域解析を使用した領域のプロパティ計算

この例では、イメージの領域解析アプリを使用してバイナリ イメージの領域のプロパティを計算する方法を説明します。イメージに含まれる領域のうち、測定された面積が最も大きい 10 個の領域を求めます。

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

BW = imread('text.png');

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

イメージは既にワークスペースに読み取っているため、イメージの領域解析アプリで [イメージの読み込み] をクリックして、[ワークスペースからのイメージの読み込み] を選択します。imageRegionAnalyzer コマンドを使用して、コマンド ラインからアプリを開くこともできます。

[ワークスペースからインポート] ダイアログ ボックスで、ワークスペースに読み込んだイメージを選択して、[OK] をクリックします。

選択したイメージとテーブルが左右に並べて表示されます。このテーブルは、イメージで識別された領域を示す行と、領域の面積、周囲の長さ、方向などのプロパティを示す列からなります (イメージの領域解析アプリがイメージ内の領域を識別し、それらの領域のプロパティを計算する際、関数 regionprops が使用されます)。

このアプリは、最初に表示されるプロパティ以外のプロパティも計算します。テーブルに表示するプロパティを追加するには、[プロパティの選択] をクリックし、表示するプロパティを選択します。表示されているプロパティにはチェック マークが付いています。テーブルが自動的に更新され、新しい列が追加されます。

イメージについて調べるには、テーブルの情報を並べ替えます。たとえば、Area プロパティで並べ替えると、領域がサイズ順にリストされます。[プロパティ] グループの [テーブルの並べ替え] ボタンをクリックし、並べ替えの基準にするプロパティを選択します。

イメージ内で最も大きな面積をもつ領域を表示するには、テーブル内でその項目をクリックします。イメージ内の該当する領域が強調表示されます。

このデータを保存するには、[エクスポート] をクリックしてオプションを表示します。

領域のプロパティ値のテーブルをワークスペース変数に保存するには、[プロパティのエクスポート] を選択します。データを構造体とテーブルの両方に保存するには、[OK] をクリックします。

propsStruct という名前の MATLAB 構造の配列で返された結果を確認します。次のコードは配列内の 1 つ目の構造体を示しています。

propsStruct(1)
ans = 

               Area: 106
    MajorAxisLength: 16.5975
    MinorAxisLength: 12.8996
       Eccentricity: 0.6292
        Orientation: -18.7734
        EulerNumber: 0
      EquivDiameter: 11.6174
          Perimeter: 64.7960

propsTable という名前の MATLAB テーブルで返された結果を確認します。次のコードは、テーブルの 1 行目にある最初の 4 つの要素を表示します。

propsTable(1,1:4)
ans = 

    Area    MajorAxisLength    MinorAxisLength    Eccentricity
    ____    _______________    _______________    ____________

    106     16.598             12.9               0.62925