안녕하세요 여러분 이번 포스팅에서는 OpenCV를 활용한 Edge Detection, 즉 윤곽선 검출 방법들에 대해 이론적인 설명을 해보려고 합니다! 먼저 윤곽선을 검출하기 위해서는 회선의 개념을 이해해야 합니다 회선의 정의를 살펴보겠습니다. 회선이란, 화소값 각각에 대해 여러가지 연산을 수행하는 화소 기반 처리가 아닌 마스크라 불리는 규정된 영역을 기반으로 연산을 수행하는 것을 공간영역 기반 처리 또는 마스크 기반 처리라고도 한다. 마스크 기반 처리는 마스크 내의 원소값과 공간 영역에 있는 입력 영상의 화소값들을 대응되게 곱하여 출력화소값을 계산한다. 이러한 처리를 모든 입력 화소값에 대해 이동하면서 수행하는 것을 회선이라고 한다. 이 때 입력 영상에 곱해지는 이 마스크를 커널, 윈도우, 필터 등이라고..
#include #include using namespace cv; int main() { cvNamedWindow("Origin", CV_WINDOW_AUTOSIZE); cvNamedWindow("Filter3", CV_WINDOW_AUTOSIZE); cvNamedWindow("Filter5", CV_WINDOW_AUTOSIZE); cvNamedWindow("Filter7", CV_WINDOW_AUTOSIZE); cvNamedWindow("Filter9", CV_WINDOW_AUTOSIZE); Mat inputImg; Mat filter3Img; Mat filter5Img; Mat filter7Img; Mat filter9Img; inputImg = imread("cat.png", CV_LOAD_IMA..
#include #include using namespace cv; int main() { cvNamedWindow("Origin", CV_WINDOW_AUTOSIZE); cvNamedWindow("Filter3", CV_WINDOW_AUTOSIZE); cvNamedWindow("Filter5", CV_WINDOW_AUTOSIZE); cvNamedWindow("Filter7", CV_WINDOW_AUTOSIZE); cvNamedWindow("Filter9", CV_WINDOW_AUTOSIZE); Mat inputImg; Mat filter3Img; Mat filter5Img; Mat filter7Img; Mat filter9Img; inputImg = imread("cat.png", CV_LOAD_IMA..