[OpenCV] 직선 검출 – 허프 변환(Hough transform)
이번 글에서는 허프 변환을 사용하여 직선 검출을 해보겠습니다. 허프 변환은 영상에서 직선을 검출하는데 자주 사용되는 기법입니다.우선 2차원 영상에서 y = ax + b는 아래와 같이 표현됩니다. a는 기울기, b는 y절편 입니다. 위 그림에서 점(x1, y1)와 점(x2, y2)는 y …
OpenCV C++
이번 글에서는 허프 변환을 사용하여 직선 검출을 해보겠습니다. 허프 변환은 영상에서 직선을 검출하는데 자주 사용되는 기법입니다.우선 2차원 영상에서 y = ax + b는 아래와 같이 표현됩니다. a는 기울기, b는 y절편 입니다. 위 그림에서 점(x1, y1)와 점(x2, y2)는 y …
이번 글에서는 캐니 에지검출기(Canny edge detector) 에 대해 알아보겠습니다. 캐니 에지 검출기는 John Canny가 1986년에 효과적인 에지 검출에 대해 제시한 방법입니다.아래 3가지 항목에 대해 충족하고자 하였습니다. 위 조건을 충족하기 위해 캐니 에지 검출기는 아래 과정을 수행합니다. …
이번 글에서는 소벨 필터 마스크에 대해 알아보겠습니다. 소벨 필터 마스크는 에지 검출 개념에 대한 글에서 설명했던 마스크처럼 1 X 3 또는 3 X 1 크기의 마스크를 사용하지 않습니다.소벨 마스크는 3 X 3 크기를 가집니다. OpenCV에서 …
이 글은 OpenCV를 사용하여 얼굴 인식 프로그램을 만든 뒤 그 내용에 대한 정리 글입니다. 얼굴 인식을 하는 프로그램을 만들고 싶어 자료 조사 중 FaceMark API에 대해 알게 되었습니다.Facial Landmark Detection라고도 불리며 얼굴 인식을 하는 기능을 제공하며, 예시로 …
이번 글에서는 에지(edge) 검출에 대해 개념을 간단히 알아보겠습니다. 에지는 경계면, 윤곽선을 의미합니다. 에지를 구별하는 것은 사람에게는 쉬운 일입니다. 영상 처리에서 에지를 구별하려면 어떻게 해야 할까요? 영상에서 에지는 픽셀 값이 급격하게 바뀌는 부분을 의미합니다. 아래와 같은 1차원 …
이번 글에서는 미디언 필터(median filter)에 대해 알아보겠습니다. 영상의 잡음 중에는 소금과 후추를 뿌린 것같은 소금, 후추 잡음이 있습니다. 잡음의 픽셀값이 0 또는 255이여서 흰색과 검은 소금 후추를 뿌린것 같다하여 생긴 이름입니다. 소금, 후추 잡음을 생성하는 예제 코드는 …
이번 글에서는 영상에서 잡음(noise)을 제거하는 방법을 알아보겠습니다. 잡음은 주로 영상 얻는 과정에서 발생하며, 영상에서 원치않는 값이 추가되는 것을 말합니다.잡음이 추가된 영상은 아래와 같습니다. 실제로 얻어지는 영상에 대해 아래와 같은 식으로 표현합니다. 잡음이 생성되는 방식을 잡음 모델이라고 하며, …
이번 글에서는 영상을 또렷하고 선명하게 만드는 기법인 샤프닝(sharpening)에 대해 알아보겠습니다. 샤프닝 처리가 된 영상은 아래 영상 중 우측 영상입니다. 이렇게 영상을 선명하게 처리 하려면 엣지 부근의 영상의 명암비가 높아져야 합니다.레나 영상의 모자 부분을 확대해서 보면 …
이번 글에서는 가우시안 필터(Gaussian filter)에 대해 알아보겠습니다. 가우시안 필터는 확률론과 통계학에서 가우시안 분포에 대하여, 함수를 근사하여 생성한 필터 마스크를 사용하는 기법입니다.가우시안 분포는 보통 아래와 같이 좌우대칭의 종모양을 가지며, 자연계에서 발생하는 대부분 사건은 가우시안 분포를 따르는 …
이번 글에서는 평균값 필터(mean filter)에 대해 알아보겠습니다. 영상 처리 기법 중에는 영상을 부드럽게 만드는 블러링 기법이 있습니다. 아래 두 이미지 중 두번째 이미지가 블러링 처리된 이미지 입니다. 영상을 부드럽게 처리하는 것은 경계면에서 급격하게 변화하는 곳을 완만하게 …