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의 각도 중 하나에 대한 라돈 변환입니다.

방사방향 좌표는 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.

각 서브픽셀의 비중은 투영된 위치와 Bin 중심 간의 거리에 따라 두 최근접 Bin으로 비례 분할됩니다. 서브픽셀 투영이 Bin의 중심점에 도달할 경우 좌표축의 Bin은 서브픽셀의 전체 값 또는 픽셀 값의 1/4을 갖습니다. 서브픽셀 투영이 두 Bin 사이의 테두리에 도달할 경우 서브픽셀 값은 두 Bin에 균일하게 분할됩니다.

참고 문헌

[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 이전에 개발됨

모두 확장