ドキュメンテーション

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

色のしきい値アプリの点群を使用したイメージのセグメンテーション

この例では、色のしきい値アプリの点群コントロールを使用してイメージをセグメント化し、バイナリ マスク イメージを作成する方法を説明します。この例では人間の顔を背景からセグメント化します。

色のしきい値アプリへのイメージの読み込み

この例の部分では、色のしきい値アプリにイメージを読み込む方法を説明します。

イメージをワークスペースに読み取ります。この例では、サンプル イメージ mandi.tif をワークスペースに読み取ります。このイメージは Bayer パターン エンコード イメージで、アプリで使用するために RGB イメージに変換する必要があります。イメージを表示します。

X = imread('mandi.tif');
rgb = demosaic(X, 'bggr');
imshow(rgb)

色のしきい値アプリを開きます。MATLAB® ツールストリップで [アプリ] タブを開き、[画像処理とコンピューター ビジョン] の下にある をクリックします。colorThresholder コマンドを使用して、このアプリを開くこともできます。

イメージを色のしきい値アプリに読み取ります。[イメージの読み込み] をクリックします。ファイル名を指定してイメージを読み込むことも、ワークスペースにイメージを読み取ってから変数を読み込むこともできます。また、カメラからイメージを取得することもできます (色のしきい値アプリでのライブ イメージの取得を参照してください)。

[イメージの読み込み] メニューで、[ワークスペースからのイメージの読み込み] をクリックします。[ワークスペースからインポート] ダイアログ ボックスで、作成した変数を選択し、[OK] をクリックします。

開くと、[色空間を選択] タブが現れ、よく使われるいくつかの色空間 (RGB、HSV、YCbCr、L*a*b*) でイメージの点群が表示されます。

色空間の選択

この例の部分では、イメージをセグメント化するときに使用する色空間の選択方法を説明します。このアプリをはじめて開くときにイメージの色成分を表現する色空間を選択しなければなりません。セグメント化する一連の色がカラー モデル内で互いの近くにある色空間を選択します。[新規の色空間] を使用すると、選択した色空間を後からいつでも変更することができます。

イメージの色成分を表現する色空間を選択します。開くと、[色空間を選択] タブが現れ、よく使われるいくつかの色空間 (RGB、HSV、YCbCr、L*a*b*) でイメージの点群が表示されます。マウスを使用して色空間を選択します。3 次元で示される各色空間を回転して、色空間ごとにイメージの表現を調べ、色の識別が十分であるかを確認します。この 3 次元表示からセグメント化する色を選択します。そのため、セグメント化する領域の色を選択できる表現を指定することが重要です。この例では、L*a*b* 色空間を選択します。

色空間を選択すると、新しいタブが開き、イメージの表示と共に、選択した色空間の色成分ごとに一連のコントロールが表示されます。L*a*b* 色空間の場合、色のしきい値アプリには、色空間の 3 成分を表す 3 つのヒストグラムと、色空間でのイメージの色の 3 次元点群表現が表示されます。これらの成分を合わせて使用してイメージのセグメンテーションを作成できます。他の色空間では、異なるタイプのコントロールが使用されます。

色の点群を使用したイメージのセグメント化

この例の部分では、色の点群を使用してイメージをセグメント化する方法を説明します。

マウスで色の点群を回転して、セグメント化する色が分離して表示される色の点群のビューを見つけます。イメージをセグメント化するときに、使用する色の周囲に多角形を描画して色を選択するには、色の点群の左上にあるボタンをクリックして、ポイントの入力を開始し、セグメンテーションに使用する色の周囲に多角形を作成します。多角形を閉じると、選択された色に基づき、色のしきい値アプリがセグメンテーションを実行します。次の図に示すように、ヒストグラムを使用してセグメンテーションをより正確にできます。

セグメンテーションやその作成に必要なコードの保存については、色のしきい値アプリを使用したイメージ マスクの作成を参照してください。