バイナリ マスクとしての ROI の指定
バイナリ マスクはイメージの関心領域 (ROI) を定義します。マスク ピクセル値 1
は、そのイメージ ピクセルが ROI に属することを示します。マスク ピクセル値 0
は、そのイメージ ピクセルが背景の一部であることを示します。
用途によって、ROI はピクセルの連続するグループで構成される場合と、不連続なグループで構成される場合があります。連続領域は、連結ピクセルの単一のグループです。連続 ROI は、路上のイメージ内の 1 台の車、医用画像内の体内組織など、イメージ内の単一のオブジェクトを表している可能性があります。不連続 ROI は、たとえば、航空写真内の水面に該当するすべてのピクセルや、医用画像内の腫瘍状のすべての細胞を表している可能性があります。
Image Processing Toolbox™ は、バイナリ マスクを作成するための多数のオプションをサポートしています。以下に、網羅的ではありませんが、よく使用される方法をいくつか抜粋します。
しきい値処理を使用したマスクの作成
イメージからマスクを作成する方法としてよく使われるのは、各ピクセルを、そのピクセルの強度値に基づいて分類する方法です。たとえば、関心領域内のピクセルは背景よりも明るく見えたり、背景とは異なる色が付いていたりする場合があります。さまざまな関数やアプリによって、グレースケール イメージ、インデックス付きイメージ、カラー イメージにしきい値処理を適用できます。
操作 | 説明 | サンプル出力 (入力イメージ、バイナリ マスク、マスクされた ROI) |
---|---|---|
単一のしきい値 | ROI は、強度が指定されたしきい値を上回る (または、下回る) グレースケール ピクセルで構成されます。数学的な演算、または 例については、不均一な照度の補正と前景オブジェクトの解析を参照してください。 | |
強度値またはインデックス値の範囲 | ROI は、強度の値が一定の範囲内にあるグレースケール ピクセルで構成されます。数学的な演算または関数 roicolor を使用して ROI を表すバイナリ マスクを作成できます。この関数はインデックス付きイメージもサポートします。インデックス付きイメージのマスクは、カラーマップ内の色に対応する特定のインデックス値でピクセルを指定します。 | |
カラー値の範囲 | ROI は、カラー イメージ内のピクセルで構成されます。このカラー イメージのカラー チャネルの値は一定の範囲内にあります。色のしきい値アプリを使用して RGB イメージからバイナリ マスクを作成できます。このアプリでは、さまざまな色空間に基づいて 3 つのカラー チャネルの値の範囲を対話的に選択できます。 | |
グレースケールでの塗りつぶし | ROI は、強度値が類似している連結ピクセルで構成されます。シード ポイントと許容誤差を指定します。関数 |
|
カラーでの塗りつぶし | ROI は、カラー値が類似している連結ピクセルで構成されます。シード ポイントと許容誤差を指定します。イメージの領域分割アプリを使用してカラー イメージに塗りつぶし操作を実行します。 |
|
位置に基づくマスクの作成
イメージ内のピクセルの位置に基づいて ROI を指定できます。たとえば、自分で描画した ROI 形状の内側のピクセルで構成される ROI や、位置を配列のインデックスで指定する四角形パッチの内側のピクセルで構成される ROI を定義できます。
操作 | 説明 | サンプル出力 (入力イメージ、バイナリ マスク、マスクされた ROI) |
---|---|---|
ROI オブジェクトを使用して幾何学的またはフリーハンドの形状を作成する | ROI は、幾何学的形状または手書きの形状の内側に位置するすべてのピクセルで構成されます。まず、ROI オブジェクトを作成し、その後、関数 例については、ROI 関数を使用したバイナリ マスクの作成を参照してください。 | |
多角形ツールを使用して多角形の形状を作成する | ROI は、多角形の形状の内側にあるすべてのピクセルで構成されます。形状は、多角形ツールで関数 | |
多角形座標からマスクを作成する | ROI は、多角形の内側に位置するすべてのピクセルで構成されます。関数 | |
自動または半自動のセグメンテーション アルゴリズムを使用したマスクの作成
イメージ セグメンテーション アルゴリズムの中には、イメージ内の特徴に基づいて ROI を予測したり、ROI の位置のおおまかな推定をしたりするものがあります。たとえば、動的輪郭法は指定されたマスクをオブジェクト境界に対して繰り返し調整します。自動または半自動のセグメンテーション アルゴリズムの利点は、不明確でも初期位置推定があれば、複雑な ROI 境界を高い忠実度で検出できることです。
イメージの領域分割アプリおよびボリュームの領域分割アプリでは、自動および半自動のセグメンテーション手法を有効にできます。また、ツールボックス内のさまざまな関数を使用して、イメージを ROI と背景にセグメント化することができます。使用可能なセグメンテーション手法の詳細については、イメージのセグメンテーションを参照してください。
操作 | 説明 | サンプル出力 (入力イメージ、バイナリ マスク、マスクされた ROI) |
---|---|---|
グラフ カット | グラフ カット アルゴリズムはグラフに基づく反復セグメンテーションを使用して ROI を推定します。ROI と背景の両方に対してシード ピクセルを使用して ROI の指定と調整を行います。グラフ カットの機能は、関数 grabcut およびイメージの領域分割アプリで有効にします。 | |
レイジー スナッピング | レイジー スナッピング アルゴリズムはグラフに基づくセグメンテーションを使用して ROI を推定します。ROI と背景の両方に対して初期マスクまたはピクセル座標を指定します。レイジー スナッピングの機能は、関数 lazysnapping で有効にします。 | |
動的輪郭 | 動的輪郭 (Snakes) アルゴリズムは領域拡張法を使用して ROI を推定します。オブジェクト境界の周囲に初期マスクを指定します。動的輪郭の機能は、関数 activecontour およびイメージの領域分割アプリで有効にします。 | |
参考
色のしきい値 | イメージの領域分割 | ボリュームの領域分割