OpenCV에서는 IplConvKernel 구조체를 사용하여 자체적인 모폴로지 커널을 사용할 수 있다이 커널은 Cv.CreateStructuringElementEx() 함수를 통해서 생성하고,ReleaseStructuringElement() 함수를 이용하여 해제한다

 

public static IplConvKernel CreateStructuringElementEx(int cols, int rows, int anchor_x, int anchor_y, ElementShape shape, int[,] values);

모폴로지 커널은 컨볼루션 커널과 달리 수치값을 필요로 하지 않는다모폴로지 커널의 모양은 커널이 영상을 스캔하는 동안 최대값 또는 최소값 계산에 필요한 픽셀 위치를 알려주는 역할만 할 뿐이다고정점은 커널이 원본 영상에 어떻게 정렬되어야 하는지 알려주는 역할을 하고또한 모폴로지 연산의 결과값이 원본 영상의 어느 픽셀에 대입되어야 하는지 알려준다커널을 새로 생성하려면 구성요소를 감싸는 사각형을 표현하는 cols rows를 지정해주어야 한다그 다음으로 고정점의 좌표 (x,y)를 나타내는 anchor_xanchor_y를 지정한다. CV_SHAPE_CUSTOM 값이 사용되면 정수형 배열 values에 의해 지정된 형태의 커널이 생성된다이 배열은 rows x cols 크기의 1차원 배열이며 0이 아닌 값으로 지정된 위치의 원소는 커널에서 사용되는 픽셀이다. Values null이면 모든 원소값이 0이 아닌 것으로 간주되어 사각형 형태의 커널이 생성된다.

 

다섯 번째 인자 shape 

Shape 

의미

CV_SHAPE_RECT

사각형 커널

CV_SHAPE_CROSS

십자 모양의 커널

CV_SHAPE_ELLIPSE

타원형 커널

CV_SHAPE_CUSTOM

Values 값으로 지정하는 사용자 정의 커널


'Programing > OpenCV' 카테고리의 다른 글

플러드필  (0) 2016.11.30
Opencv C# 모폴로지  (0) 2016.11.30
영상 모폴로지  (0) 2016.11.30
스무딩(블러링)  (0) 2016.11.30
영상 파일 포맷의 종류  (0) 2016.11.30

+ Recent posts