느린번개

OpenCV 영상 화질 향상 기법 #5 - Bilateral Filter

By  | 2017년 1월 26일 | 
OpenCV 영상 화질 향상 기법 #5 - Bilateral Filter
지난 포스팅에서 Gaussian filter에 대해 알아보면서 사물의 경계선이 흐려지는 단점이 있다고 했는데요.이번 포스팅에서는 Gaussian filter의 이러한 단점을 보완하기 위한 Bilateral filter(양방향 필터)에 대해 알아보겠습니다. Gaussian filter는 중심 화소에서의 거리에 따른 가중치를 적용한 MASK를 사용해서 영상을 부드럽게 만들어줍니다.Bilateral filter도 Gaussian filter처럼 가중치를 적용한 MASK를 사용하지만 결정적으로 다른 점은 가중치에 중심 화소에서의 거리뿐만 아니라 중심 화소와의 밝기 차이도 고려한다는 점입니다. Bilateral filter는 이러한 추가적인 연산으로 인해 속도 면에서는 약간 느려진다는 단점이 있습니다.

Edge 검츨 #1 - Sobel Derivatives

By  | 2017년 1월 26일 | 
Edge 검츨 #1 - Sobel Derivatives
이미지에 존재하는 edge를 감지하고자 할때, edge에서 픽셀 강도가 급격하게 변화한다는 것을 알 수 있습니다. 이미지의 급격한 변화를 잘 표현할 수 있는게 미분을 이용하는 방법 입니다. 하기와 같이 테스트 이미지를 보면 중간의 사선부분이 edge라는것을 할 수 있다.Sobel Derivatives 로 edge를 구하기 위해서 오른쪽처럼 gray 처리를 한다. Gray image의 사선부분의 pixel Value를 보면 아래처럼 보인다. 첫번째 라인중 사선부분만 짤라서 그래프를 그려보면 아래처럼 급격하게 변화되는것을 볼 수가 있다. 1차 미분을 해주면 아래와 같이 egde 부분만 Dataf를 가지는것을 확인 할수 있다. 따라서, 이미지의 Edge를 검출하는 방법이 그 이웃들보다 높은 (또는

Edges 검출 #3- Canny edges

By  | 2017년 1월 31일 | 
Edges 검출 #3- Canny edges
지금까지 나온 edge detect 중에서 가장 강력한것이 Canny edges 라고 할 수 있다.(내생각....^^;;) "A Computational Approach to Edge Detection" 논문을 이해하는건 쉬운일이 아니기 때문에 아래와 같이 아주 간단하게 정리하면 Canny edge는 4단계로 이루어져 있다. 1. Gaussian 필터 적용 2. Sobel 적용 3. non-maximum 적용 4. Hysteresis 적용 이전 Edge 포스팅중 Laplace를 보았을 것이다. Sobel에서 발전된 Edge 였던것 처럼 Canny도 Sobel을 이용하여, 원본 이미지상의 회색계열의 Edge detect가 가능한 방법이다. 한마디로 근본은 Sobel 이다.....Sobel 최고

Edge 검츨 #2 - Laplace Operator

By  | 2017년 1월 26일 | 
Edge 검츨 #2 - Laplace Operator
Laplacian Operator 로 Edge를 찾는 방법은 Sobel 방법에서 미분을 한번 더 해주는것이다.Sobel이 1차미분이면, Laplacian Operator 는 2차 미분이다. eyes33.egloos.com/6092261 를 참조하면 아래와 같이 1차 미분된 것을 2차 미분하게 되면, 아래와 같이 edge는 0이며, 좌우로 급격히 변화되는것을 알수 있다.그러나 0은 Edge에만 표시되는 것이 아니라 다른 의미가 없는 위치에 실제로 나타날 수 있기 때문에 필요한 경우 필터링을 적용하여 해결해야 한다.Laplace 식은 아래와 같다. 결과와 같이 Laplacian을 이용하여 Edge를 찾고자 한다면, Blur을 하는쪽이 더 단순화 시킬수 있을 것 같다.//-----

OpenCV 영상 화질 향상 기법 #6 - 종합

By  | 2017년 1월 31일 | 
OpenCV 영상 화질 향상 기법 #6 - 종합
지금까지 포스팅했던 영상 화질 향상 기법에 대해 정리해보겠습니다. 원본 이미지 1. Median FilterMASK 내에 존재하는 화소를 크기순으로 나열하여 중간값을 선택합니다.Impulse noise를 제거하는데 효과적입니다.Median Filtering 이미지 2. Mean FilterMASK 내에 존재하는 화소의 평균값을 선택합니다.Mean Filtering 이미지 3. Gaussian FilterGaussian 분포에 기반한 MASK를 이용하여 화소의 값을 연산합니다.Gaussian Filtering 이미지 4. Bilateral Filter중심 화소와의 거리와 밝기 차이를 모두 고려한 MASK를 이용하여 화소의 값을 연산합니다.Bilateral Filtering 이미지 이러한 필터들을