Canny Edge Detector를 구현하기 위해 필요한 이론과 OpenCV에서 제공하는 Canny 함수 사용방법을 다룹니다.
2. OpenCV Canny 함수 2-1. Python 기본 예제 트랙바 사용 예제 2-2. C++ 기본 예제 트랙바 사용 예제 3. 참고 |
2018. 11. 14. 최초 작성.
1. 캐니 에지 디텍터(Canny Edge Detector) 이론
2. OpenCV Canny 함수
OpenCV에서는 하나의 함수 Canny만 호출하면 캐니 에지를 얻을 수 있습니다.
2-1. Python 기본 예제
img_canny = cv2.Canny(image, threshold1, threshold2, edges=None, apertureSize=None, L2gradient=None) |
첫번째 아규먼트 image는 입력 이미지입니다.
두번째, 세번째 아규먼트 threshold1, threshold2는 최소 스레숄드와 최대 스레숄드입니다.
네번째 아규먼트 edges에 Canny 결과를 저장할 변수를 적어줍니다. 파이썬에선 Canny 함수 리턴으로 받을 수 있기 때문에 필요없는 항목입니다.
다섯번째 아규먼트 apertureSize는 이미지 그레디언트를 구할때 사용하는 소벨 커널 크기입니다. 디폴트는 3입니다.
여섯번째 아규먼트 L2gradient가 True이면 그레디언트 크기를 계산할 때 sqrt{(dI/dx)^2 + (dI/dy)^2}를 사용합니다.
False라면 근사값인 |dI/dx|+|dI/dy|를 사용합니다. 디폴트값은 False입니다.
import cv2 |
트랙바 사용 예제
import cv2 |
..
..
2-2. C++ 기본 예제
void cv::Canny(InputArray image, OutputArray edges, double threshold1, double threshold2, int apertureSize = 3, bool L2gradient = false ) |
첫번째 아규먼트 image는 입력 이미지입니다.
두번째 아규먼트 edges에 Canny 결과를 저장할 변수를 적어줍니다.
세번째, 네번째 아규먼트 threshold1, threshold2는 최소 스레숄드와 최대 스레숄드입니다.
다섯번째 아규먼트 apertureSize는 이미지 그레디언트를 구할때 사용하는 소벨 커널 크기입니다. 디폴트는 3입니다.
여섯번째 아규먼트 L2gradient가 True이면 그레디언트 크기를 계산할 때 sqrt{(dI/dx)^2 + (dI/dy)^2}를 사용합니다.
False라면 근사값인 |dI/dx|+|dI/dy|를 사용합니다. 디폴트값은 False입니다.
#include <opencv2/imgproc.hpp> |
트랙바 사용 예제
#include <opencv2/imgproc.hpp> |
3. 참고
https://docs.opencv.org/3.4.3/da/d22/tutorial_py_canny.html
https://docs.opencv.org/3.4.3/da/d5c/tutorial_canny_detector.html
'OpenCV > OpenCV 강좌' 카테고리의 다른 글
OpenCV Python 강좌 - 히스토그램(Histogram) (6) | 2018.12.14 |
---|---|
OpenCV Python강좌 - 컨투어(Contour) 검출 및 특성 사용하기 (24) | 2018.11.28 |
OpenCV Python 강좌 - 마우스 클릭으로 HSV 색공간에서 특정색 추출하기 (37) | 2018.10.23 |
OpenCV Python 강좌 - 에지 검출( Edge detection ) (3) | 2018.10.16 |
OpenCV Python 강좌 - 모폴로지 연산 (Morphological Operations) (0) | 2018.10.14 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!