본문 바로가기

Theory/Algorithm

getAffineMatrix 만들기

  • 인자 설명
    • R_t: 만큼 회전시키는 행렬
    • R_p, R_p ^-1: 만큼 회전시키는 행렬과 그 역행렬
    • S : 확대 행렬

         

  • 알아 둬야 할 사항
    • IplImage를 변환하는 cvWarpAffine이 받게 되는 CvMat *은 2x3 행렬 이어야 한다.
    • 역변환은 역행렬을 구하는게 아니라 각각 회전된 만큼 역으로 회전하고 역으로 확대시키는 것이다.

       

  • 수식

    회전행렬과 확대 축소는 2차원을 이용한다. (추후에 올리겠지만) 내부에서 2x3의 행렬을 이용하여 이미지를 처리하므로 동일한 형태의 행렬로 넘겨줘야 한다. 바로 2x3으로 만들 수는 없고 아래 와 같은 순서로 2X3를 만든다.

       

    • 정변환

         

    • 역변환

         

    • 이대로 하게 되면 이미지의 좌상단을 원점으로 생각하기 때문에 이미지 자체의 중앙점을 원점으로 잡아 줘야 정확히 회전/확대 된다.

       

         

    • 위에서 구해진 정변환 역변환의 3열에 3)에서 구해진 중심점을 넣어준다.(수식은 생략)
       

'Theory > Algorithm' 카테고리의 다른 글

Simple Polygon  (0) 2012.05.13