MATLAB Image Processing Toolbox Transforms 1 Overview Transform
MATLAB Image Processing Toolbox Transforms 1
Overview • Transform – refers to an alternative mathematical representation of an image. • Fourier Transform – is a representation of an image as a sum of complex exponential of varying magnitudes, frequencies, and phases. – image processing, analysis, restoration, filtering – fft 2, ifft 2, fftn, ifftn, fftshift • Discrete Cosine Transform – represents an image as a sum of sinusoids of varying magnitudes and frequencies. – image compression : dct 2, idct 2, dctmtx • Radon Transform – represents an image as a collection of projections along various directions. – seismology, computer vision : radon, iradon 2
Fourier Transform • fft 2 – 기 능 • Compute two-dimensional fast Fourier Transform(FFT) • 입력 : unit 8, double • 출력 : double – 사용법 • B = fft 2(A) • B = fft 2(A, m, n) – A : 입력 – B : 출력 – m, n : 입력 A 를 m-by-n 크기로 만든 후 transform 출력 B의 크기[m, n] 3
Fourier Transform • ifft 2 – 기 능 • Compute two-dimensional inverse fast Fourier Transform(FFT) • 입력 : unit 8, double • 출력 : double – 사용법 • B = ifft 2(A) • B = ifft 2(A, m, n) – A : 입력 – B : 출력 – m, n : 입력 A 를 m-by-n 크기로 만든 후 inverse transform 출력 B의 크기[m, n] 4
Fourier Transform • fftn – 기 능 • Compute N-dimensional fast Fourier Transform(FFT) • 입력 : unit 8, double • 출력 : double – 사용법 • B = fftn(A) • B = fftn(A, siz) – A : 입력 – B : 출력 – siz : 크기가 siz인 N-dimensional array를 만들어 transform 5
Fourier Transform • ifftn – 기 능 • Compute N-dimensional inverse fast Fourier Transform(FFT) • 입력 : unit 8, double • 출력 : double – 사용법 • B = ifftn(A) • B = ifftn(A, siz) – A : 입력 – B : 출력 – siz : 크기가 siz인 N-dimensional array를 만들어 inverse transform 6
Fourier Transform • fftshift – 기 능 • Shift DC component of fast Fourier Transform to center of spectrum. – 사용법 • B = fft 2(A) • C = fftshift(B) – fft, fft 2, fftn의 결과에 대해 적용 – zero frequency components를 중심으로 이동시켜 재정렬 7
Discrete Cosine Transform • dct – 기 능 • Compute two-dimensional discrete cosine transform • 입력 : unit 8, double • 출력 : double – 사용법 • B = dct 2(A) • B = dct 2(A, m, n) • B = dct 2(A, [m n]) – A : 입력 – B : 출력 – m, n : 입력 A 를 m-by-n 크기로 만든 후 transform 출력 B의 크기[m, n] 8
Discrete Cosine Transform • idct – 기 능 • Compute two-dimensional inverse discrete cosine transform • 입력 : unit 8, double • 출력 : double – 사용법 • B = idct 2(A) • B = idct 2(A, m, n) • B = idct 2(A, [m n]) – A : 입력 – B : 출력 – m, n : 입력 A 를 m-by-n 크기로 만든 후 inverse transform 출력 B의 크기[m, n] 9
Discrete Cosine Transform • dctmtx – 기 능 • Compute discrete cosine transform matrix – 사용법 • D = dctmtx(n) – n-by-n 크기의 dct transform 행렬을 만듬 – 보다 빠른 연산 속도를 위해 변환 행렬 만드는 함수 10
Radon Transform • radon – 기 능 • Compute Radon transform – 사용법 • R = radon(I, theta) • R = radon(I, theta, n) • [R, xp] = radon(. . . ) – – – R : 출력 행력(double) I : 변환 대상 이미지(double or unit 8) theta : projection degrees, default value : 0: 179 (double) n : projection 될 포인트의 개수 (double) xp : a vector 출력행렬 R의 각행의 radial coordinates 값 (double) 11
Radon Transform • iradon – 기 능 • Compute inverse Radon transform – 사용법 • I = iradon(P, theta) • I = iradon(P, theta, interp, filter, d, n) – P : I로부터 구해진 radon transform 후의 자료 – theta : projection degrees – interp back-projection에 사용될 interpolation (nearest, linear(d), spline) – filter : de-emphasizes high frequencies Ram-Lak(d), Shepp-Logan, Cosine, Hamming, Hann – d : modifies the filter – n : inverse transform 후에 생성될 영상의 row와 column 설정. 12
Radon Transform • phantom – 기 능 • Generate a head phantom image – 사용법 • P = phantom(def, n) • P = phantom(E, n) • [p, E] = phantom(. . . ) – – P : 출력 이미지 def : 생성되는 이미지의 type, ‘Shepp-Logan’, ‘Modified Shepp-Logan’ n : 생성되는 이미지의 rows, columns E : user-defined phantom, column 1 - column 6 13
- Slides: 13