Canny() 함수를 사용하여 영상에서 에지를 검출하는 예제 코드를 코드 9-2에 나타냈습니다. 코드 9-2에 나타난 canny_edge() 함수는 두 가지 임계값 쌍을 이용하여 캐니 에지 검출을 수행하고 그 결과를 각각 화면에 출력합니다. canny_edge() 함수가 정의된 소스 파일은 내려받은 예제 파일 중 ch09/edges 프로젝트에서 확인할 수 있습니다.
코드 9-2 캐니 에지 검출 예제 [ch09/edges]
01 void canny_edge() 02 { 03 Mat src = imread("lenna.bmp", IMREAD_GRAYSCALE); 04 05 if (src.empty()) { 06 cerr << "Image load failed!" << endl; 07 return; 08 } 09 10 Mat dst1, dst2; 11 Canny(src, dst1, 50, 100); 12 Canny(src, dst2, 50, 150); 13 14 imshow("src", src); 15 imshow("dst1", dst1); 16 imshow("dst2", dst2); 17 18 waitKey(); 19 destroyAllWindows(); 20 }
• 11행 낮은 임계값을 50, 높은 임계값을 100으로 설정하여 캐니 에지 검출을 수행하고 그 결과를 dst1에 저장합니다.
• 12행 낮은 임계값을 50, 높은 임계값을 150으로 설정하여 캐니 에지 검출을 수행하고 그 결과를 dst2에 저장합니다.