1) 이미지 프로세싱 관련

- 운영환경 및 개발 Language 기록
1. 운영체계: Windows7 x64
2. 개발환경: C#.Net 4.5, Visual Studio 2012 C++/ C# 
3. 머신비전 라이브러리: OpenCV 2.x/3.x, Octave(Proto-Typing) etc.
Matlab의 오픈소스 Clone인 Octave를 사용하여 빠른 영상처리를 테스트한후 검증된 알고리즘을 OpenCV라이브러리를 이용하여 구현하거나 API화 한다.

- 사용된 이미지 처리 기법/알고리즘 제시

1. 영상전처리
- 잡음제거: Weiter Filtering, Bilateral Filtering(or Median Filtering)
윤곽선을 잘 보존하면서 영상에 포함된 잡음을 제거해 기하학정보를 정확히 추출하도록 영상을 개선한다.

- 영상 매칭: Histogram Matching
기준이 되는 영상의 밝기값분포Histogram과 테스트하려는 영상의 Histogram을 일치시켜 두영상간의 밝기값을 동기화해 조명환경변화에 따른  기하학정보 측정의 오차를 줄임으로써 정보 측정의 정밀도를 향상시켜준다.

- 영상균일도 향상: Homomorphic Filtering
단일 영상내의 그림자나 불균일 조도분포와 같이 영상내 불필요하고 지역적인 조명의 영향을 제거하고 측정하려는 물체의 정보만을 보존해 기하학적 측정의 정밀도를 향상시킨다.     

- 윤곽선 강조: Unsharp Masking(Laplacian Convolution)
기하학적인 정보가 집중되어있는 윤곽선을 배경영상에 대해 상대적으로 강조해 측정을 용이하게 영상을 전처리 한다.

- 영상 이진화/ 세그멘테이션: Bi-Modal Thresholding, Otsu Thresholding, GLCM, Local Entropy Segmentation
배경패턴과 측정하려는 대상물체를 이진화 하거나 영상에 최적화된 segmentation 알고리즘을 사용하여 영역분리한다.

- 모폴로지컬 연산:  Opening/Dilating/Hole Filling
구형물체의 위치 측정시 영상무게중심 산출에 장애요소로 작용하는  Hole 을 제거하기 의하여 이진영상(Binary Image)에서 형태론적 영상처리(Morphological Image Processing)을 수행한다.

2. 영상 측정
- Edge 추출: Sobel Edge/Canny Edge/Gradient
영상의 윤곽성 분포 특성에 맞는 에지검출 알고리즘을 선택적으로 수행한다.

- Hough Transform
영상내 포함된 직선성분들의 1차 기하학정보(길이, 방향, 위치)를 추출하고 이를 ArrayList에 기록해 2차 기하학정보(간격, Offset, 상대기울기, 다각형 면적 etc)를 산출한다.

- Projection or Profile Analysis
Hought변환으로 추출이 어려운 직선형의 기하학적 정보는 프로젝션(1차원 사영) 기법이나 프로파일 해석을 통해 통계적(Statistical Moment etc)으로 산출한다.

- MonteCarlo Simulation
Hough변환이나 프로젝션, 프로파일 해석으로도 어려운 기하학적 정보들은 비모수적인 통계분석방법중 하나인 몬테카를로 시뮬레이션을 이용해 수치해석적(Numerical Analysis)으로 분석한다. 

- 2D Fourier Spectral Analysis
또한 평균적인 기하학정보 측정은 주파수도메인에서의 분석으로도 가능하다.  주파수 분석을 이용하면 원형물체의 평균반경, 평균 선폭(CD) 같은 기하학적 물리량의 정밀한 측정이 가능하다.

댓글

이 블로그의 인기 게시물

파이썬으로 Homomorphic Filtering 하기

파이썬으로 2D FFT/iFFT 하기: numpy 버전