2D 필터링(2D Filter)
Filter2D
함수를 이용하여 임의의 선형 필터
를 이미지나 영상에 적용합니다.
커널
을 직접 생성하여 필터
를 적용할 수 있습니다.
가우시안 필터
, 중간값 필터
를 비롯하여 임의의 필터
또한 직접 생성하여 적용할 수 있습니다.
원본(Source, src)
은 영상이나 이미지를 사용합니다.
-
영상 사용하기
: [3강 바로가기][3강]
-
이미지 사용하기
: [4강 바로가기][4강]
메인 코드
세부 코드
결과에 사용할 filter
를 생성합니다.
1차원 배열을 생성하여 임의의 커널을 생성합니다.
- Tip : 해당 커널은
가우시안 블러
커널과 동일합니다.
CvMat
을 이용하여 매트릭스를 생성합니다. new CvMat(n, m, 매트릭스 타입, 배열)
입니다.
nxm
크기의 매트릭스로 변환하여 생성합니다.
Cv.Normalize()
함수를 이용하여 매트릭스를 정규화합니다.
Cv.Normalize(원본, 결과, 최댓값, 최솟값, 정규화기준)
입니다.
최댓값
: 정규화된 값의 최댓값입니다.
최솟값
: 정규화된 값의 최솟값입니다.
정규화기준
: 정규화할때의 기준을 선택합니다.
NormType.C
: 매트릭스의 최댓값을 기준으로 정규화합니다.
NormType.L1
: 매트릭스의 합을 기준으로 정규화합니다.
NormType.L2
: 매트릭스의 유클리드 노름을 기준으로 정규화합니다.
Cv.Filter2D()
을 적용합니다. Cv.Filter2D(원본, 결과, 커널)
을 사용합니다.
출력 결과
Filter2D
SmoothType.Gaussian 5x5
댓글 남기기