如果100*50的图要转成50*100
角度90或-90
旋转中心应该为
Point2f(image.rows / 2, image.rows / 2);
// 图像旋转与缩放 // Author: www.icvpr.com // Blog: http://blog.csdn.net/icvpr #include <iostream> #include <vector> #include <opencv2/opencv.hpp> int main(int argc, char** argv) { cv::Mat image = cv::imread("../test.jpg"); if (image.empty()) { std::cout<<"read image failure"<<std::endl; return -1; } cv::Point2f center = cv::Point2f(image.cols / 2, image.rows / 2); // 旋转中心 double angle = 30; // 旋转角度 double scale = 0.5; // 缩放尺度 cv::Mat rotateMat; rotateMat = cv::getRotationMatrix2D(center, angle, scale); cv::Mat rotateImg; cv::warpAffine(image, rotateImg, rotateMat, image.size()); cv::imwrite("../rotate.jpg", rotateImg); return 0; }