Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

radon

説明

R = radon(I) は角度範囲 [0, 179] に対する 2 次元グレースケール イメージ I のラドン変換 R を返します。ラドン変換は、指定した角度の方向へ放射状に伸びた線に沿ってイメージ強度の投影を行うものです。

R = radon(I,theta) は、theta で指定された角度に対するラドン変換を返します。

[R,xp] = radon(___) は、イメージの各行に対応する半径方向座標を含んでいるベクトル xp を返します。

すべて折りたたむ

以下のイメージについて座標軸のスケールを表示します。

iptsetpref('ImshowAxesVisible','on')

サンプル イメージを作成します。

I = zeros(100,100);
I(25:75, 25:75) = 1;

ラドン変換を計算します。

theta = 0:180;
[R,xp] = radon(I,theta);

変換を表示します。

imshow(R,[],'Xdata',theta,'Ydata',xp,'InitialMagnification','fit')
xlabel('\theta (degrees)')
ylabel('x''')
colormap(gca,hot), colorbar

Figure contains an axes object. The axes object with xlabel theta blank (degrees), ylabel x' contains an object of type image.

座標軸のスケールを非表示にします。

iptsetpref('ImshowAxesVisible','off')

入力引数

すべて折りたたむ

グレースケール イメージ。2 次元数値行列として指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

投影角 (度単位)。数値スカラーまたは数値ベクトルとして指定します。

データ型: double

出力引数

すべて折りたたむ

イメージ I のラドン変換。次のいずれかとして返されます。

  • theta がスカラーの場合、Rtheta 度に対するラドン変換を含んでいる数値列ベクトルになります。

  • theta がベクトルの場合、R は各列が theta の 1 つの角度に対してラドン変換された行列となります。

R の各行に対応する半径方向座標。数値ベクトルとして返されます。半径方向座標は、x' 軸に沿った値で、x 軸から反時計回りに theta 度の方向になります。両軸の原点はイメージの中心ピクセルで、次のように定義されます。

floor((size(I)+1)/2)
たとえば、20 × 30 のイメージでは、中心ピクセルは (10, 15) になります。

アルゴリズム

ラドン変換したイメージは、個々のピクセルをそれぞれラドン変換したものの和です。

アルゴリズムは、まずイメージ内のピクセルを 4 つのサブピクセルに分割し、次の図のように各サブピクセルを別々に投影します。

The center of four subpixels are projected into evenly spaced bins.

投影位置からビン中心までの距離に応じて、各サブピクセルは 2 つの最も近いビンに均等に分割されます。サブピクセルがビンの中心点に投影されると、座標軸上のビンはサブピクセルの絶対値またはピクセルの 4 分の 1 の値を取得します。サブピクセルが 2 つのビンの境界に投影されると、サブピクセルの値はビンに均等に分割されます。

参照

[1] Bracewell, Ronald N., Two-Dimensional Imaging, Englewood Cliffs, NJ, Prentice Hall, 1995, pp. 505-537.

[2] Lim, Jae S., Two-Dimensional Signal and Image Processing, Englewood Cliffs, NJ, Prentice Hall, 1990, pp. 42-45.

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する