대부분의 OpenCV 필터링 함수는 기본적으로 그림 7-3과 같은 방식으로 가장자리 픽셀을 확장하지만, 다른 방식으로 가상의 픽셀 값을 설정할 수도 있습니다. OpenCV 필터링 연산에서 사용할 수 있는 가장자리 픽셀 확장 방법을 표 7-1에 나타냈습니다. 표 7-1에 나타난 상수는 BorderTypes라는 이름의 열거형 상수 중 일부입니다.

    ▼ 표 7-1 OpenCV 필터링에서 가장자리 픽셀 처리 방법

    BorderTypes 열거형 상수

    설명

    BORDER_CONSTANT

    BORDER_REPLICATE

    BORDER_REFLECT

    BORDER_REFLECT_101

    BORDER_REFLECT101

    BORDER_REFLECT_101과 같음

    BORDER_DEFAULT

    BORDER_REFLECT_101과 같음

     

    OpenCV에서 필터 마스크를 사용하는 일반적인 필터링은 filter2D() 함수를 이용하여 수행합니다. filter2D() 함수 원형은 다음과 같습니다.

    void filter2D(InputArray src, OutputArray dst, int ddepth,
                  InputArray kernel, Point anchor = Point(-1,-1),
                  double delta = 0, int borderType = BORDER_DEFAULT);

    src

    입력 영상

    dst

    출력 영상. src와 같은 크기, 같은 채널 수를 갖습니다.

    ddepth

    결과 영상의 깊이

    kernel

    필터링 커널. 1채널 실수형 행렬

    anchor

    고정점 좌표. Point(-1, -1)을 지정하면 커널 중심을 고정점으로 사용합니다.

    delta

    필터링 연산 후 추가적으로 더할 값

    borderType

    가장자리 픽셀 확장 방식

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.