Edge pixels : 영상의 픽셀 주변으로 밝기 값이 급격히 변하는 부분, 픽셀
Edges : Edge pixels들의 연속된 집합
에지 검출 방법
1. 1차원 함수에 대해 1차 미분 수행하여 에지 검출. 따라서 1차 미분을 했을 때 크기가 0이 아닌 부분을 활용하면 에지 검출이 가능하다.
2. 2차원 영상의 경우, image gradient 사용
- gradient 란 주어진 데이터가 2차원 데이터라면 그 2차원 데이터 f의 gradient는 x축 방향으로 편미분 하고 , y축 방향으로 편미분 한 값으로 이루어져 있는 벡터이다.
- gradient 크기 : 미분 값을 제곱해서 더한 후 루트 값을 씌운 것
- gradient 각도 : arctan x/y값
- gradient 방향은 현재 픽셀에서 가장 급격하게 변하는 방향을 가리킨다.
- 에지 방향은 gradient 방향과 수직 관계에 있다.
- gradient와 gradient 방향을 구하면 에지의 방향도 검출 가능
Sobel operators
소벨 마스크를 활용하여 y축 방향 영상의 절댓값과 x축 방향 영상의 절댓값을 더하는 방식으로 gradient 크기를 구할 수 있고 thresholding을 이용하여 에지를 구할 수 있다.
Canny Edge Detector
1. 가우시안 필터를 사용하여 영상 내의 잡음을 없앤다.
2. 소벨 에지 마스크를 활용하여 그라디언트 크기와 각도 계산
3. nonmaxima suppression 수행 -> 그라디언트 방향으로 인접한 픽셀을 찾은 후 현재 픽셀에서 주변 인접 픽셀보다 그라디언트 매그니튜드 성분이 작으면 제거 , 즉 최댓값만 남기고 나머지 값은 삭제하는 것
4. double thresholding
- 𝑀 𝑥, 𝑦 ≥ Th -> edge
- 𝑀 𝑥, 𝑦 < TL -> non-edge
- Otherwise -> 에지라고 판별된 픽셀과 연결되어 있다면 에지라고 간주
출처 - 컴퓨터 비전 한동대학교 황성수
http://www.kocw.net/home/cview.do?cid=1b1f5b73413060b5
'openCV' 카테고리의 다른 글
[openCV] 얼굴 검출 (0) | 2020.01.31 |
---|---|
[openCV] 선 검출 (0) | 2020.01.29 |
[openCV] 형태학적 연산 (0) | 2020.01.29 |
[openCV] 동영상 분할 (0) | 2020.01.18 |
[openCV] 영상 분할 (0) | 2020.01.18 |
댓글