함수 > 이미지 처리 > 윤곽선 찾기 > canny 윤곽선 검출 함수
  
canny 윤곽선 검출 함수
canny(M, sigma, low, high) - 표준 편차 sigma와 이력 분계점 lowhigh를 사용하여 행렬 M에 대한 Canny 윤곽선 검출을 수행한 결과인 이진 윤곽선 이미지를 구합니다. 검출 행렬에서 윤곽선 점의 값은 1이고 배경의 값은 0입니다. 커널은 이미지 주변을 완전하게 덮지 못하기 때문에 해당 영역은 정의되지 않은 값을 가집니다.
이 함수는 Canny 알고리즘을 사용하여 이미지의 윤곽선을 검출합니다. Canny의 윤곽선 검출 알고리즘은 다음 세 단계로 구성되어 있습니다.
1. 가우시안 도함수 커널을 포함하는 입력 이미지의 컨볼루션. 여기서 sigma는 가우시안의 표준 편차입니다. sigma는 윤곽선에 대한 배율 매개변수의 역할을 합니다. 큰 값의 sigma는 성긴 배율의 윤곽선을 생성하고 작은 값의 sigma는 더 조밀한 배율의 윤곽선을 생성합니다. 또한, sigma 값이 클수록 노이즈가 더 많이 억제됩니다.
2. 각 픽셀의 광도 구배 방향을 따른 비최대점 억제(nonmaxima suppression)
3. low 및 high 분계점 값을 사용하는 이력 분계점 지정. 이력 분계점 지정에서 광도 구배의 크기는 먼저 하한 분계점 값을 사용하여 분계점 지정됩니다. 계속해서, 하한 분계점보다 큰 구배 크기를 갖고 상한 분계점보다 구배 크기가 큰 픽셀 하나 이상을 포함하는 세그먼트와 연결된 픽셀은 유지됩니다.
인수
M은 이미지 행렬입니다.
sigma는 0보다 큰(대개 0에서 2 사이) 실수입니다.
low, high는 실수이고 low < high입니다.