[OpenCV 3.2] Canny Edge Detector - 가장자리 검출 알고리즘

영상에서 사각형 혹은 숫자 등의 물체를 인식할 때 형상의 테두리로 알 수 있다.

이미지를 그레이 이미지로 변환한 후 가장자리 검출 알고리즘을 이용하여 이미지를 이진화 하는 방법에 대해 정리한다.


1. Canny Edge Detector란?

Canny 에지 검출 알고리즘은 1986년도에 John F. Canny에 의해 고안되어 대중적으로 많이 사용되고 있다.

Canny 알고리즘은 에지 검출 알고리즘에 있어서 다음 세가지의 기준을 내놓는다.

낮은 에러율 : 실제 에지만을 탐지하는 능력

낮은 오차율 : 실제 에지와 탐지된 에지의 픽실 거리 차이를 최소화

최소한의 응답성 : 각 에지에 대해서는 한 번만의 검출


2. 소스 코드

1) canny 함수

void Canny(InputArray image, OutputArray edges, double threshold1, double threshold2, int apertureSize=3, bool L2gradient=false )

image : 그레이 이미지

edges : 변환한 에지 이미지

threshold1 : 에지 임계값

threshold2 : threshold1 * ratio

apetureSize : 커널 사이즈


2) MFC에 Canny Edge 슬라이더 컨트롤 변수 추가하기

MFC 관련 소스 코드 참조 : http://poorman.tistory.com/157


3) Canny 함수 추가

3. 실행 결과

다음은 ...




컴퓨터 비전과 영상 처리에 대해 독학을 하면서 정리한 걸 적고 있습니다.

전공과 무관하며 전문적인 지식이 아니므로 개인적인 의견과 부족하고 틀린 점이 많습니다.

추가 지식 및 잘못된 점을 지적해주시면 공부하는데 많은 도움이 되겠습니다. 감사합니다^^

- 푸어맨


[Reference]

(OpenCV Canny 함수) http://www.docs.opencv.org/2.4.10/doc/tutorials/imgproc/imgtrans/canny_detector/canny_detector.html

(캐니 알고리즘) http://iskim3068.tistory.com/60

(숫자 인식) http://egloos.zum.com/skaria/v/1083349

(번호판 인식) http://mind3002.blogspot.kr/2016/01/cc-opencv-license-plates-recognition.html

+ Recent posts