Main Content

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

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

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

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

イメージをワークスペースに読み取ります。この例では、サンプル イメージ mandi.tif をワークスペースに読み取ります。このイメージは Bayer パターン エンコード イメージです。色のしきい値アプリでこのイメージを操作するには、関数 demosaic を使用してイメージを RGB イメージに変換しなければなりません。イメージの変換後、関数 imshow でそれを表示します。

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

色のしきい値アプリでイメージを開く

MATLAB® ツールストリップで [アプリ] タブを開き、[イメージ処理とコンピューター ビジョン] の下にある色のしきい値アイコン をクリックします。色のしきい値アプリが開きます。

イメージを色のしきい値アプリに読み取るには、[イメージの読み込み] をクリックします。既にワークスペースにイメージがあるため、[ワークスペースからのイメージの読み込み] オプションを選択します。[ワークスペースからインポート] ダイアログ ボックスで、作成した変数を選択し、[OK] をクリックします。ファイル名を指定してイメージを読み込むこともできます。

また、colorThresholder コマンドを使用して、開きたいイメージの名前 (colorThresholder(rgb)) を指定することでアプリを開くこともできます。カメラからイメージを取得する方法の詳細については、色のしきい値アプリでのライブ イメージの取得を参照してください。

色空間の選択

色のしきい値アプリが開くと、[色空間を選択] タブが表示されます。このタブにはイメージと、次のよく使われるいくつかの色空間でイメージを表現する点群が表示されます。RGB、HSV、YCbCr、L*a*b*

各色空間内のイメージの点群表現を調べます。各色空間内の 3 次元表示を回転して、色の識別が十分であるかを確認します。この 3 次元表示からセグメント化する色を選択します。そのため、セグメント化する領域の色を選択できる表現を指定することが重要です。この例では、L*a*b* 色空間を選択します。

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

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

イメージを確認するために、イメージの上にカーソルを移動させ、移動とズームのコントロールを使用します。

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

マスクの作成とその保存の詳細については、色のしきい値アプリを使用したイメージのセグメント化およびマスクの作成を参照してください。

参考

関連するトピック