OpenCV에서 타원을 그리고 싶을 때에는 ellipse() 함수를 사용할 수 있습니다. 타원을 그리는 방식은 원보다는 좀 더 복잡합니다. ellipse() 함수 원형은 다음과 같습니다.

    void ellipse(InputOutputArray img, Point center, Size axes,
                 double angle, double startAngle, double endAngle,
                 const Scalar& color, int thickness = 1,
                 int lineType = LINE_8, int shift = 0);

    img

    입출력 영상

    center

    타원의 중심

    axes

    타원의 반지름. Size(x축_반지름, y축_반지름)

    angle

    타원 회전 각도(x축 기준, 시계 방향)

    startAngle

    타원 호의 시작 각도(x축 기준, 시계 방향)

    endAngle

    타원 호의 끝 각도(x축 기준, 시계 방향)

    color

    타원 색상

    thickness

    타원 외곽선 두께. 이 값이 음수(-1 또는 FILLED)이면 내부를 채웁니다.

    lineType

    선 타입

    shift

    그리기 좌표 값의 축소 비율(오른쪽 비트 시프트(>>) 연산)

     

    ellipse() 함수는 다양한 형태의 타원 또는 타원의 일부인 호를 그릴 수 있습니다. 타원의 크기는 axes 인자를 통해 지정합니다. axes 인자는 Size 자료형을 사용하며, x축 방향 타원의 반지름과 y축 방향 반지름을 지정합니다. angle 인자에 0이 아닌 값을 전달하면 회전된 타원을 그릴 수 있습니다. startAngleendAngle 인자를 적절하게 이용하면 호를 그리는 용도로도 사용할 수 있습니다. 예를 들어 startAngle에는 0을 지정하고 endAngle에는 360을 지정하면 완전한 타원을 그립니다. 만약 startAngle은 0을 지정하고 endAngle에 180을 지정하면 타원의 반에 해당하는 호를 그립니다. thickness 인자는 타원 외곽선 두께를 나타내는 인자이며, 이 값을 -1 또는 FILLED로 설정하면 내부를 채운 타원 또는 호를 그립니다.

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