opencv 모방 변환 계산 회전 매트릭스 소스 분석

1247 단어 opencv
opencv 를 사용 하여 모방 변환 을 할 때 먼저 방사 변환 행렬 을 계산 하여 방사 변환 행렬 의 함수 원형 을 얻 습 니 다.
 
/* Computes rotation_matrix matrix */

CVAPI(CvMat*)  cv2DRotationMatrix( CvPoint2D32f center, double angle,

                                   double scale, CvMat* map_matrix );

이 함수 의 실현 은:
 
 
CV_IMPL CvMat*

cv2DRotationMatrix( CvPoint2D32f center, double angle,

                    double scale, CvMat* matrix )

{

    cv::Mat M0 = cv::cvarrToMat(matrix), M = cv::getRotationMatrix2D(center, angle, scale);

    CV_Assert( M.size() == M.size() );

    M.convertTo(M0, M0.type());

    return matrix;

}

위의 함수 중 주요 기능 함 수 는: 
 
 
cv::Mat cv::getRotationMatrix2D( Point2f center, double angle, double scale )

{

    angle *= CV_PI/180;

    double alpha = cos(angle)*scale;

    double beta = sin(angle)*scale;



    Mat M(2, 3, CV_64F);

    double* m = (double*)M.data;



    m[0] = alpha;

    m[1] = beta;

    m[2] = (1-alpha)*center.x - beta*center.y;

    m[3] = -beta;

    m[4] = alpha;

    m[5] = beta*center.x + (1-alpha)*center.y;



    return M;

}

먼저 각 도 를 라디안 으로 바 꾼 다음 회전 행렬 을 계산한다.
 

좋은 웹페이지 즐겨찾기