zoukankan      html  css  js  c++  java
  • 旋转和平移 代码2


    Point center(face_img.cols/2, face_img.rows/2);
    //cv::Mat rot_mat = cv::getRotationMatrix2D(center, -1 * arctan, 1.0);

    cv::Mat Rx(3, 3, CV_32FC1);

    double theta_r = roll * 3.1415926 / 180; /** 3.1415926 / 180*/
    float cos_theta = cos(theta_r);
    float sin_theta = sin(theta_r);
    Rx.at<float>(0, 0) = cos_theta;
    Rx.at<float>(0, 1) = -sin_theta;
    Rx.at<float>(0, 2) = (1-cos_theta)*center.x + center.y * sin_theta;

    Rx.at<float>(1, 0) = sin_theta;
    Rx.at<float>(1, 1) = cos_theta;
    Rx.at<float>(1, 2) = (1-cos_theta) * center.y - center.x* sin_theta;

    Rx.at<float>(2, 0) = 0;
    Rx.at<float>(2, 1) = 0;
    Rx.at<float>(2, 2) = 1;
    //std::cout << rot_mat << std::endl;

    cv::Mat rotated_ROI;
    //cv::warpAffine(face_img, rotated_ROI, rot_mat, face_img.size(), cv::INTER_LINEAR, cv::BORDER_CONSTANT, cv::Scalar::all(http://www.my516.com/heimitao/));
    warpPerspective(face_img, rotated_ROI, Rx, cv::Size(face_img.cols, face_img.rows));



    cv::imshow("roll face", rotated_ROI);
    ---------------------

  • 相关阅读:
    字符串转换成整数
    回文字符串判断
    字符串包含
    翻转单词顺序VS左旋转字符串
    穷举子集合
    求S=a+aa+aaa+aaaa+aa...a的值
    数组元素去重
    找最长等差数列的长度
    Git pull and push
    Google 开发console查找元素或方法
  • 原文地址:https://www.cnblogs.com/ly570/p/11277997.html
Copyright © 2011-2022 走看看