영상에서 픽셀의 밝기 값이 급격하게 변하는 부분
일반적으로 객체와 배경, 객체와 객체의 경계
Edge detection은 객체 분할 및 인식을 위한 기본적인 과정
영상을 (x, y) 변수의 함수로 간주했을 때 이 함수의 1차 미분 값이 크게 나타나는 부분을 검출
1차 미분의 근사화
중앙 차분 :
가로
-1 | 0 | 1 |
-2 | 0 | 2 |
-1 | 0 | 1 |
세로
-1 | -2 | -1 |
0 | 0 | 0 |
1 | 2 | 1 |
입력 영상에 가우시안 블러를 적용하여 잡음을 제거한 후 엣지를 검출하는 것이 바람직함
함수 f(x, y)를 x축과 y축으로 각각 편미분하여 벡터 형태로 표현한 것
src : 입력 영상
dst : 출력 영상
ddepth : 출력 영상 깊이
dx, dy : x 방향과 y 방향으로의 미분 차수
ksize : 커널 크기
scale : 연산 결과에 추가적으로 곱할 값
delta : 연산 결과에 추가적으로 더할 값
borderType : 가장자리 픽셀 확장 방식
ksize | |
---|---|
1 | 3x1 또는 1x3 |
3,5,7 | 3x3, 5x5, 7x7 |
void Sobel(InputArray src, OutputArray dst,
int ddepth,
int dx, int dy,
int ksize = 3,
double scale = 1,
double delta = 0,
int borderType = BORDER_DEFAULT);
sobel