美文网首页计算机视觉
C++ opencv旋转图片(二)

C++ opencv旋转图片(二)

作者: 刘千予 | 来源:发表于2018-07-01 10:11 被阅读0次

    //opencv

    #include "opencv2/opencv.hpp"

    #include "opencv2/highgui/highgui.hpp"

    #include "opencv2/imgproc/imgproc.hpp" 

    /***********************************************************************************************

    Function: RotateImage

    Description: 旋转图片

    Input: src:需要旋转的图片路径 angle:旋转角度

    Return: 旋转后的图片

    ***********************************************************************************************/

    cv::Mat RotateImage(cv::Mat src, double angle)

    {

    cv::Mat dst;try

    {

    //float scale = 200.0/ src.rows;

    //缩放因子

     //cv::resize(src, src, cv::Size(), scale, scale, cv::INTER_LINEAR); 

     //输出图像的尺寸与原图一样 

     cv::Size dst_sz(src.cols, src.rows);

     //指定旋转中心

     cv::Point2f center(static_cast(src.cols / 2.), static_cast(src.rows / 2.));

    //获取旋转矩阵(2x3矩阵)     

    cv::Mat rot_mat = cv::getRotationMatrix2D(center, angle, 1.0);

    //设置选择背景边界颜色 

    /*cv::Scalar borderColor = Scalar(0, 238, 0);*/

    /*cv::warpAffine(src, dst, rot_mat, src.size(), INTER_LINEAR, BORDER_CONSTANT, borderColor);*/

    //复制边缘填充

    cv::warpAffine(src, dst, rot_mat, dst_sz, cv::INTER_LINEAR, cv::BORDER_REPLICATE);

    }

    catch (cv::Exception e)

    {

    }

    return dst;

    }

    相关文章

      网友评论

        本文标题:C++ opencv旋转图片(二)

        本文链接:https://www.haomeiwen.com/subject/zqjcuftx.html