メインコンテンツ

improfile

ライン セグメントに沿ったピクセル値の断面

説明

対話形式によるライン セグメントの選択

c = improfile では現在の座標軸内でイメージから対話型でライン セグメントを選択することができます。ライン セグメントの選択を終了すると、improfile は、ライン セグメントに沿ってサンプリングされたピクセル値を c に返します。

この構文では、マウスを使用してイメージ内の点をクリックすることにより、ラインまたはパスを設定できます。以前に選択していた点を除去するには、Backspace または Delete を押します。点の選択を終了するには、最後の点を追加するときに、Shift キーを押したままクリックするか、右クリックするか、ダブルクリックします。最後の点を追加せずに点の選択を終了するには、Return キーを押します。

c = improfile(n) は、対話形式で選択するライン セグメントからサンプリングされた n 個のピクセル値を返します。

端点の指定によるライン セグメントの選択

c = improfile(I,xi,yi) は、イメージ I 内のライン セグメントに沿ってサンプリングされたピクセル値を返します。ライン セグメントの端点は (x, y) 座標 xi および yi を持っています。

c = improfile(xref,yref,I,xi,yi) は、xrefyref で定義されるワールド座標系のピクセル値を返します。ライン セグメントの端点は、この座標系での (x, y) 座標 xi および yi を持っています。

c = improfile(___,n) は、ライン セグメントに沿ってサンプリングされた n 個のピクセル値を返します。

内挿法または出力オプションの指定

c = improfile(___,method) はピクセル座標の内挿法を指定します。入力引数 method の前に、他の任意の構文の入力引数を指定できます。

[cx,cy,c] = improfile(___) は、サンプリングされたピクセルの (x, y) 座標 cx および cy も返します。他の任意の構文の入力引数を使用できます。

[cx,cy,c,xi2,yi2] = improfile(___) は、ライン セグメントの端点の (x, y) 座標 xi および yi も返します。

出力引数なしの improfile(___) はライン セグメントに沿ったピクセル値のプロットを表示します。1 つのライン セグメントを選択した場合、improfile は、ライン セグメントに沿った距離に対する強度値の 2 次元プロットを作成します。improfile のその他の構文では、ライン セグメントに沿ったサンプル ポイント間の距離が計算されません。2 つ以上のライン セグメントを選択した場合、improfile は、それらの x 座標と y 座標に対する強度値の 3 次元プロットを作成します。

すべて折りたたむ

イメージを読み取って表示します。

I = imread("liftingbody.png");
imshow(I)

Figure contains an axes object. The hidden axes object contains an object of type image.

接続されたライン セグメントを定義する x 座標と y 座標を指定します。イメージの場合、y 軸は下向きが正であることを思い出してください。

x = [19 427 416 77];
y = [96 462 37 33];

元のイメージの上にライン セグメントをポリラインとして描画します。

drawpolyline(gca,Position=[x' y']);

Figure contains an axes object. The hidden axes object contains 2 objects of type image, images.roi.polyline.

これらのライン セグメントのピクセル値の 3 次元プロットを表示します。

improfile(I,x,y)
grid on

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains an object of type line.

入力引数

すべて折りたたむ

パスに沿ってサンプリングする点の数。正の整数として指定します。この引数を省略すると、improfile は、パス中に存在するピクセル数とほぼ等価の値 n を設定します。

データ型: double

入力イメージ。RGB イメージ、グレースケール イメージまたはバイナリ イメージとして指定します。

データ型: single | double | int16 | uint8 | uint16 | logical

ライン セグメントの端点の x 座標。yi と同じ長さの数値ベクトルとして指定します。xref を使用してワールド座標系のイメージ範囲を指定した場合、xi はこの座標系になります。そうでない場合、xi は既定の空間座標系になります。

データ型: double

ライン セグメントの端点の y 座標。xi と同じ長さの数値ベクトルとして指定します。yref を使用してワールド座標系のイメージ範囲を指定した場合、yi はこの座標系になります。そうでない場合、yi は既定の空間座標系になります。

データ型: double

ワールド座標の x 次元に沿ったイメージ範囲。[xmin xmax] 形式の 2 要素数値ベクトルとして指定します。xref の値はイメージ XData を設定します。xref および yref のデータ型は一致しなければなりません。

データ型: single | double

ワールド座標の y 次元に沿ったイメージ範囲。[ymin ymax] 形式の 2 要素数値ベクトルとして指定します。yref の値はイメージ YData を設定します。xref および yref のデータ型は一致しなければなりません。

データ型: single | double

内挿法。"nearest" (最近傍内挿の場合)、"bilinear"、または "bicubic" として指定します。

データ型: char | string

出力引数

すべて折りたたむ

サンプリングされたピクセル値。I がグレースケール またはバイナリ イメージの場合は n 行 1 列の数値ベクトル、または I が RGB イメージの場合は n x 1 x 3 の数値配列として返されます。

データ型: double

サンプリングされたピクセルの x 座標。n 行 1 列の数値ベクトルとして返されます。

データ型: double

サンプリングされたピクセルの y 座標。n 行 1 列の数値ベクトルとして返されます。

データ型: double

ライン セグメントの端点の x 座標。数値ベクトルとして返されます。xi を使用してライン セグメントの端点を指定した場合、xi2xi と等しくなります。

データ型: double

ライン セグメントの端点の y 座標。数値ベクトルとして返されます。yi を使用してライン セグメントの端点を指定した場合、yi2yi と等しくなります。

データ型: double

拡張機能

すべて展開する

バージョン履歴

R2006a より前に導入

すべて展開する