opencv图片旋转90度,180度,270度

网上关于opencv图片旋转的代码有很多,但是对于像90度,180度,270度的这样特殊的角度用opencv自带的 transpose 和 flip就可以很容易实现旋转了,下面是图片旋转90度简单的例子:

#include  
using namespace cv;  

int main()
{
    Mat src = imread("\\dxf\\qqfish.png",-1);  
    Mat srcCopy= Mat(src.rows, src.cols,src.depth());  
    transpose(src, srcCopy);  
    //flip(srcCopy, srcCopy, 1);  //rotate 270
    flip(srcCopy, srcCopy, 0);  //rotate 90

    namedWindow("source Image", WINDOW_AUTOSIZE );
    imshow("source Image", src);

    namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", srcCopy);
    waitKey(0);
    return 0;

}

旋转90度的图示:

opencv图片旋转90度,180度,270度_第1张图片


旋转270度的图例:

opencv图片旋转90度,180度,270度_第2张图片

要正确运行程序,你还需安装opencv 3.0beta 上版本,设置好路径,添加库。

如果你是老版本,建议看 https://blog.csdn.net/moses1213/article/details/48790801

如果是旋转180,这样代码就可以了:

    Mat src = imread("\\dxf\\qqfish.png",-1);  
    Mat srcCopy;
    flip(src, srcCopy, -1);  //rotate 180

你可能感兴趣的:(c++)