版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leon_zeng0/article/details/80623684
网上关于opencv图片旋转的代码有很多,但是对于像90度,180度,270度的这样特殊的角度用opencv自带的 transpose 和 flip就可以很容易实现旋转了,下面是图片旋转90度简单的例子:
#include <opencv2/opencv.hpp>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度的图示:
旋转270度的图例:
要正确运行程序,你还需安装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