예제: 이미지 필터링
2차원 이미지를 역 DFT를 사용하여 창으로 컨볼루션함으로써 2차원의 푸리에 변환 영역 필터링을 보여 줍니다. 필터는 사각 조리개 형태의 저역 통과 필터입니다.
1. 이미지 행렬의 치수 및 요소를 정의합니다.
2. scale 함수를 사용하여 이미지의 배율을 변경합니다.
4. 기록한 파일을 찾아서 이미지를 삽입합니다.
(cross.bmp)
5. 조리개의 크기를 정의합니다.
6. scale 함수를 사용하여 조리개의 배율을 조정한 다음 이미지를 외부 파일에 기록합니다.
7. 기록한 파일을 찾아 조리개의 이미지를 삽입합니다.
(aperture.bmp)
2D 박스카가 2D sinc 함수로 변환됩니다. 이 함수는 대부분의 주파수 콘텐츠가 저역 주파수(중심)에 있어 적절한 저역 통과 필터 역할을 합니다.
8. 이미지로 조리개를 컨볼루션하려면
dft 함수를 사용하여 둘 모두를 변환하고 벡터화 연산자를 사용하여 변환을 요소별로 곱한 다음
idft 함수를 사용하여 역변환을 구합니다.
9.
center 함수를 사용하여 이미지의 DC 컴포넌트가 중앙에 오도록 합니다.
10. 행렬의 요소를 실수로 바꿉니다.
11.
scale 함수를 사용하여 이미지의 배율을 변경합니다.
13. WRITEBMP 함수를 사용하여 이미지를 외부 파일에 기록합니다.
14. 기록한 파일을 찾아 십자 모양의 이미지를 삽입합니다.
(cross_aperture.bmp)
새 이미지는 고주파 콘텐츠 즉, 예리한 가장자리가 제거됩니다.
15. 이미지 변환의 요소를 조리개 변환으로 나누는 디컨볼루션을 통해 프로세스를 역으로 수행합니다(0으로 나누지 않도록 조리개의 각 요소에 작은 양을 더함).
16. 기록한 파일을 찾아 십자 모양의 이미지를 삽입합니다.
(reversed.bmp)
이미지의 고주파 콘텐츠가 복구되어 예리한 가장자리가 다시 나타납니다.