안녕하세요. 지난 포스팅의 디지털 영상 처리 - 칼라 기초에서는 칼라 영상 처리에서 사용되는 다양한 용어들에 대해서 알아보았습니다. 오늘은 칼라를 표현하기 위한 다양한 모델들에 대해서 알아보도록 하겠습니다. 칼라 모델(Color Model)은 칼라 공간(Color Space) 또는 칼라 시스템(Color System)이라고도 불립니다. 지난 포스팅에서도 언급했지만 칼라를 느끼는 기준을 표준화하는 것은 굉장히 어려운 일입니다. 이번 포스팅의 목적은 인간이 느끼는 칼라를 몇 가지 기준으로 표현하는 방법에 대해서 설명하고자 합니다. 현대 사회에서 칼라 모델은 크게 2가지로 나눌 수 있습니다. 하드웨어 지향적(칼라 모니터, 프린터) 응용 지향적(만화 영화용 칼라 그래픽스의 창작) 디지털 영상 처리에서 언급하는 ..
안녕하세요. 지난 포스팅의 디지털 영상 처리 - 투영에 의한 영상 재구성 2에서는 CT의 기본적인 원리부터 시작에서 단순한 역투영에서 성능을 더 향상시킬 수 있는 푸리에-박편 정리(Fourier-Slicing Theorem)을 기반으로 평행-빔 영상 복원 방식과 부채-빔 영상 복원 방식에 대해서 알아보았습니다. 지난 포스팅을 마지막으로 영상 복원에 대한 이야기는 마무리하였고 오늘부터는 칼라 영상에 대해서 다루도록 하겠습니다. 저희는 지금까지 그레이 스케일 영상을 다루고 있었습니다. 하지만, 저희가 보는 세계는 아름다운 칼라의 세계입니다. 따라서 디지털 영상에서 칼라를 다루는 것은 매우 중요한 작업이라고 볼 수 있죠. 칼라에 대한 내용은 지금까지의 내용을 어느정도 이해했다면 아주 쉽게 이해할 수 있기 때문..
안녕하세요. 지난 포스팅의 디지털 영상 처리 - 투영에 의한 영상 재구성 1에서는 CT의 기본적인 원리인 역투영을 통한 3D 재구성에 대해서 설명하고 기본적인 수학 도구인 라돈 변환(Radon Transform)과 용어인 시노그램(Sinogram), 래미노그램(Laminogram)에 대해서 설명하였습니다. 기본적인 알고리즘은 주어졌지만, 아쉽게도 저희가 원하는 퀄리티가 나오지 않았습니다. 오늘은 이러한 재구성 퀄리티를 증가시키는 푸리에-박편 정리(Fourier-Slicing Theorem)를 설명하고 이를 활용한 개선된 재구성 알고리즘을 소개해드리도록 하겠습니다. 1. 푸리에-박편 정리(Fourier-Slicing Theorem) 일단, 지난 포스팅에서의 $\rho$ 변수에 대한 1D 푸리에 변환은 아래..
안녕하세요. 지난 포스팅의 디지털 영상 처리 - 기하 평균 필터에서는 가장 일반화된 복원 필터에 대해서 알아보았습니다. 오늘은 주제를 바꾸어서 CT(Computed Tomography)에 대한 이야기를 해볼까 합니다. CT는 디지털 영상 처리에서 가장 중요하게 다루는 분야 중에 하나이기 때문에 알아둘 필요가 있습니다. 오늘은 이를 위한 전체적인 개념에 대해서 정리하는 시간을 가지도록 하겠습니다. 제가 처음에 CT를 중심으로 설명한다고 했으나 이번 절에서 설명하는 수학적 도구는 SPECT, PET, MRI같은 영상의학 장비에도 동일하게 적용가능합니다. 1. 서론 일단 문제에 대한 정의부터 할 필요가 있습니다. 아래의 그림과 같이 균일한 배경 속에 딱 1개의 단일 객체만 있다고 가정해보도록 하죠. 만약, C..
안녕하세요. 지난 포스팅의 디지털 영상 처리 - 제한된 최소 제곱 필터링에서는 기존의 Wiener 필터링보다 약화된 조건으로 영상을 복원할 수 있는 방법에 대해서 소개하였습니다. 오늘은 Wiener 필터링을 약간 일반화한 기하 평균 필터(Geometric Mean Filter)를 보고 마치도록 하겠습니다. $$\hat{F}(\mu, \nu) = \left[\frac{H^{*}(\mu, \nu)}{\left|H(\mu, \nu)\right|^{2}}\right]^{\alpha} \left[\frac{H^{*}(\mu, \nu)}{\left|H(\mu, \nu)\right|^{2} + \beta \left[\frac{S_{\eta}(\mu, \nu)}{S_{f}(\mu, \nu)}\right]}\right]..
안녕하세요. 지난 포스팅의 디지털 영상 처리 - 최소 평균 오차(Wiener) 필터링 구현하기에서는 MATLAB에 이미 구현된 deconvwnr 함수를 이용하였습니다. 그러나 deconvwnr의 치명적인 단점이 있습니다. 바로 어떤 커널로 블러링이 되었는 지 알아야 디컨볼루션을 진행할 수 있었습니다. 실제로 다시 한번 Wiener 필터링 수식 상기해보도록 하겠습니다. $$\hat{F}(\mu, \nu) = \left[\frac{1}{H(\mu, \nu)} \cdot \frac{\left|H^{2}(\mu, \nu)\right|}{\left|H(\mu, \nu)\right|^{2} + \frac{S_{\eta}(\mu, \nu)}{S_{f}(\mu, \nu)}}\right]G(\mu, \nu)$$ 여기서 ..
안녕하세요. 지난 포스팅의 디지털 영상 처리 - 최소 평균 오차(Wiener) 필터링에서는 Wiener 필터링과 영상 내 노이즈의 정도를 측정하는 SNR(Signal-to-Noise Ratio)에 대해서 알아보았습니다. 오늘은 실제로 Wiener 필터링을 구현해보도록 하겠습니다. 오늘은 MATLAB에 구현되어 있는 wiener 필터링을 활용하겠습니다. wiener 필터링 예제는 아래의 MATLAB 공식 홈페이지 문서를 참조하였습니다. 위너 필터(Wiener Filter)를 사용하여 영상 디블러 처리하기 - MATLAB & Simulink Example - MathWorks 한국 이 예제의 수정된 버전이 있습니다. 사용자가 편집한 내용을 반영하여 이 예제를 여시겠습니까? kr.mathworks.com 기본..
안녕하세요. 지난 포스팅의 디지털 영상 처리 - 역 필터링에서는 굉장히 단순한 방법으로 영상을 복원하는 방법에 대해서 알아보았습니다. 그리고 역 필터링에서 발생하는 문제인 0으로 나눌 때 특정 주파수 영역만 나누는 cut-off 방법도 배웠습니다. 오늘은 이보다 좀 더 고차원적인 방법으로 영상을 복원하는 방법에 대해서 알아보겠습니다. 1. Wiener 필터링 기본적으로 영상 복원의 목표는 오염되지 않은 영상 $f$와 복원된 영상 $\hat{f}$ 사이의 차이를 최소하는 것으로 생각할 수 있습니다. 이를 수식화하면 아래와 같습니다. $$e^{2} = \mathbb{E}\{(f - \hat{f})^{2}\}$$ 여기서 $\mathbb{E}\{\cdot\}$는 기댓값을 의미합니다. 즉, 위 식은 $(f - \..